summaryrefslogtreecommitdiff
path: root/docs/feature_macros.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/feature_macros.md')
-rw-r--r--docs/feature_macros.md18
1 files changed, 8 insertions, 10 deletions
diff --git a/docs/feature_macros.md b/docs/feature_macros.md
index 92afe68c2e..f9a4e69d18 100644
--- a/docs/feature_macros.md
+++ b/docs/feature_macros.md
@@ -6,7 +6,7 @@ Macros allow you to send multiple keystrokes when pressing just one key. QMK has
**Security Note**: While it is possible to use macros to send passwords, credit card numbers, and other sensitive information it is a supremely bad idea to do so. Anyone who gets ahold of your keyboard will be able to access that information by opening a text editor.
{% endhint %}
-## The new way: `SEND_STRING()` & `process_record_user`
+## The New Way: `SEND_STRING()` & `process_record_user`
Sometimes you just want a key to type out words or phrases. For the most common situations we've provided `SEND_STRING()`, which will type out your string (i.e. a sequence of characters) for you. All ASCII characters that are easily translated to a keycode are supported (e.g. `\n\t`).
@@ -105,13 +105,13 @@ They can be used like this:
Which would send LCTRL+a (LCTRL down, a, LCTRL up) - notice that they take strings (eg `"k"`), and not the `X_K` keycodes.
-### Alternative keymaps
+### Alternative Keymaps
By default, it assumes a US keymap with a QWERTY layout; if you want to change that (e.g. if your OS uses software Colemak), include this somewhere in your keymap:
#include <sendstring_colemak.h>
-### Strings in memory
+### Strings in Memory
If for some reason you're manipulating strings and need to print out something you just generated (instead of being a literal, constant string), you can use `send_string()`, like this:
@@ -129,7 +129,7 @@ send_string(my_str);
SEND_STRING(".."SS_TAP(X_END));
```
-## The old way: `MACRO()` & `action_get_macro`
+## The Old Way: `MACRO()` & `action_get_macro`
{% hint style='info' %}
This is inherited from TMK, and hasn't been updated - it's recommend that you use `SEND_STRING` and `process_record_user` instead.
@@ -166,7 +166,7 @@ A macro can include the following commands:
* W() wait (milliseconds).
* END end mark.
-### Mapping a Macro to a key
+### Mapping a Macro to a Key
Use the `M()` function within your `KEYMAP()` to call a macro. For example, here is the keymap for a 2-key keyboard:
@@ -192,7 +192,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
When you press the key on the left it will type "Hi!" and when you press the key on the right it will type "Bye!".
-### Naming your macros
+### Naming Your Macros
If you have a bunch of macros you want to refer to from your keymap while keeping the keymap easily readable you can name them using `#define` at the top of your file.
@@ -207,7 +207,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
```
-## Advanced macro functions
+## Advanced Macro Functions
There are some functions you may find useful in macro-writing. Keep in mind that while you can write some fairly advanced code within a macro if your functionality gets too complex you may want to define a custom keycode instead. Macros are meant to be simple.
@@ -243,7 +243,7 @@ This will clear all mods currently pressed.
This will clear all keys besides the mods currently pressed.
-## Advanced Example: Single-key copy/paste
+## Advanced Example: Single-Key Copy/Paste
This example defines a macro which sends `Ctrl-C` when pressed down, and `Ctrl-V` when released.
@@ -262,5 +262,3 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
return MACRO_NONE;
};
```
-
-