What can go on your keymap¶
Eventually there should be a helpful table here with good definitions for the common codes. In the meantime, you can check these files for all the codes the Keyboardio supports:
Most of the common keyboard key codes are here:
Key codes for system tasks like shutting down, switching windows, and moving through menus are here:
A wide range of key codes for controlling consumer electronics, most of which are probably not relevant, are in this file:
In-keymap chorded keys¶
In addition, the keys in
key_defs/keyboard.h can be augmented with modifier macros:
RALT() to add chorded keys to your keymap. For example
LCTRL(LALT(Key_Delete)) can be used to add control-alt-delete as a single key to your keymap, should you wish. The innermost bracket must be of the standard format as taken from the above key definitions, and all other modifiers must be from the aforementioned list, and in that format. This does allow you to create single keys for multiple modifiers, e.g.
LCTRL(LALT(LSHIFT(Key_LeftGui))), when held, would have the effect of all left modifiers at once. These modifier macros only work for standard keys! When applied to any key provided by a plugin, they will have no effect.
Combination modifier/layer shift keys¶
ML() preprocessor macro can be used to define a key which will act as both a keyboard modifier and a layer shift while the key is held. For example,
ML(LeftShift, 3) will act as both
Key_LeftShift. Any of the eight modifier keys can be used, and is specified without the
Key_ prefix. The layer shift can be to any layer in the range 0-31.