Comments begin with a '#' and continue to the end of the line.
# This is a comment.
The force command disables the auto-detection of keyboard type.
force {set1|set2|set3|set2ext}
The include command processes another file, exactly as if it was copy-pasted to where the include command is.
include <file_name>
Conditionals stay in effect until the conditional is repeated with different argument(s).
The blocks following a conditional are only applied if...
ifselect {<select_num> | any} # specified select is active.
ifset [set1] [set2] [set3] [set2ext] [any] # using one of the specified sets.
ifkeyboard {<keyboard_id> | any} # keyboard has the specified ID.
Layerblocks define combinations of function keys to access different layers.
(Function keys are defined by remapping one or more keys to pseudo-HID codes FN1 to FN8).
layerblock
<fn_key_combo> <layer_num>
...
endblock
Remapblocks define remappings either for the base layer, or for the specified layer if a layer command is given inside the block.
remapblock
[layer <layer_num>]
<from_hid> <to_hid>
...
endblock
Macroblocks define one or more macros. Macros are triggered by a single HID key with any combination of metas, and can have command blocks that execute on either or both of make and break of the HID key.
macroblock
macro <hid> [[-][{l|r}]shift] [[-][{l|r}]ctrl] [[-][{l|r}]alt] [[-][{l|r}]gui] ...
[
<command> [<value>]
...
]
[onbreak [norestoremeta]
<command> [<value>]
...
]
endmacro
...
endblock