Macro
macros
are similar to words
, except that:
macro
sequences can contain arbitrary modifiers, likectrl
.macro
sequences are not automatically prefixed withspace
.macro
chords are not automatically generated - you pick them yourself, and write them in a.kmap
file.macro
chords cannot be modified by any kind of modifier. If you press a modifer at the same time, the chord will no longer be recognized as amacro
.
Macro definitions
A macro
sequence is defined as a list of keypresses.
Each keypress is on a separate line and includes a key
and/or a list of modifiers.
macro_save_as:
- {key: "KEY_S", mods: ["MODIFIERKEY_CTRL", "MODIFIERKEY_SHIFT"]}
macro_save_and_quit:
- {key: "KEY_S", mods: ["MODIFIERKEY_CTRL"]}
- {key: "KEY_Q", mods: ["MODIFIERKEY_CTRL"]}
macro_emacs_save:
- {key: "KEY_X", mods: ["MODIFIERKEY_CTRL"]}
- {key: "KEY_S", mods: ["MODIFIERKEY_CTRL"]}
macro_emacs_insert_euro:
- {key: "KEY_X", mods: ["MODIFIERKEY_CTRL"]}
- {key: "KEY_8"}
- {key: "KEY_8", mods: ["MODIFIERKEY_SHIFT"]}
- {key: "KEY_E", mods: ["MODIFIERKEY_SHIFT"]}
The mods
list can contain the following names:
mods | |
---|---|
MODIFIERKEY_CTRL | |
MODIFIERKEY_SHIFT | |
MODIFIERKEY_ALT | |
MODIFIERKEY_GUI | A.K.A. windows key (❖), apple command key (⌘), or super |
The key
can be any of the following names:
KEY_A | KEY_B | KEY_C | KEY_D |
KEY_E | KEY_F | KEY_G | KEY_H |
KEY_I | KEY_J | KEY_K | KEY_L |
KEY_M | KEY_N | KEY_O | KEY_P |
KEY_Q | KEY_R | KEY_S | KEY_T |
KEY_U | KEY_V | KEY_W | KEY_X |
KEY_Y | KEY_Z | KEY_1 | KEY_2 |
KEY_3 | KEY_4 | KEY_5 | KEY_6 |
KEY_7 | KEY_8 | KEY_9 | KEY_0 |
KEY_ENTER | KEY_ESC | KEY_BACKSPACE | KEY_TAB |
KEY_SPACE | KEY_MINUS | KEY_EQUAL | KEY_LEFT_BRACE |
KEY_RIGHT_BRACE | KEY_BACKSLASH | KEY_NUMBER | KEY_SEMICOLON |
KEY_QUOTE | KEY_TILDE | KEY_COMMA | KEY_PERIOD |
KEY_SLASH | KEY_CAPS_LOCK | KEY_F1 | KEY_F2 |
KEY_F3 | KEY_F4 | KEY_F5 | KEY_F6 |
KEY_F7 | KEY_F8 | KEY_F9 | KEY_F10 |
KEY_F11 | KEY_F12 | KEY_PRINTSCREEN | KEY_SCROLL_LOCK |
KEY_PAUSE | KEY_INSERT | KEY_HOME | KEY_PAGE_UP |
KEY_DELETE | KEY_END | KEY_PAGE_DOWN | KEY_RIGHT |
KEY_LEFT | KEY_DOWN | KEY_UP | KEY_NUM_LOCK |
KEYPAD_SLASH | KEYPAD_ASTERIX | KEYPAD_MINUS | KEYPAD_PLUS |
KEYPAD_ENTER | KEYPAD_1 | KEYPAD_2 | KEYPAD_3 |
KEYPAD_4 | KEYPAD_5 | KEYPAD_6 | KEYPAD_7 |
KEYPAD_8 | KEYPAD_9 | KEYPAD_0 | KEYPAD_PERIOD |