qmk

Unnamed repository; edit this file 'description' to name the repository.
git clone git://git.z3bra.org/qmk.git
Log | Files | Refs | Submodules | LICENSE

keycodes.md (41739B)


      1 # Keycodes Overview
      2 
      3 When defining a [keymap](keymap.md) each key needs a valid key definition. This page documents the symbols that correspond to keycodes that are available to you in QMK.
      4 
      5 This is a reference only. Each group of keys links to the page documenting their functionality in more detail.
      6 
      7 ## [Basic Keycodes](keycodes_basic.md)
      8 
      9 |Key                    |Aliases                       |Description                                    |
     10 |-----------------------|------------------------------|-----------------------------------------------|
     11 |`KC_NO`                |`XXXXXXX`                     |Ignore this key (NOOP)                         |
     12 |`KC_TRANSPARENT`       |`KC_TRNS`, `_______`          |Use the next lowest non-transparent key        |
     13 |`KC_A`                 |                              |`a` and `A`                                    |
     14 |`KC_B`                 |                              |`b` and `B`                                    |
     15 |`KC_C`                 |                              |`c` and `C`                                    |
     16 |`KC_D`                 |                              |`d` and `D`                                    |
     17 |`KC_E`                 |                              |`e` and `E`                                    |
     18 |`KC_F`                 |                              |`f` and `F`                                    |
     19 |`KC_G`                 |                              |`g` and `G`                                    |
     20 |`KC_H`                 |                              |`h` and `H`                                    |
     21 |`KC_I`                 |                              |`i` and `I`                                    |
     22 |`KC_J`                 |                              |`j` and `J`                                    |
     23 |`KC_K`                 |                              |`k` and `K`                                    |
     24 |`KC_L`                 |                              |`l` and `L`                                    |
     25 |`KC_M`                 |                              |`m` and `M`                                    |
     26 |`KC_N`                 |                              |`n` and `N`                                    |
     27 |`KC_O`                 |                              |`o` and `O`                                    |
     28 |`KC_P`                 |                              |`p` and `P`                                    |
     29 |`KC_Q`                 |                              |`q` and `Q`                                    |
     30 |`KC_R`                 |                              |`r` and `R`                                    |
     31 |`KC_S`                 |                              |`s` and `S`                                    |
     32 |`KC_T`                 |                              |`t` and `T`                                    |
     33 |`KC_U`                 |                              |`u` and `U`                                    |
     34 |`KC_V`                 |                              |`v` and `V`                                    |
     35 |`KC_W`                 |                              |`w` and `W`                                    |
     36 |`KC_X`                 |                              |`x` and `X`                                    |
     37 |`KC_Y`                 |                              |`y` and `Y`                                    |
     38 |`KC_Z`                 |                              |`z` and `Z`                                    |
     39 |`KC_1`                 |                              |`1` and `!`                                    |
     40 |`KC_2`                 |                              |`2` and `@`                                    |
     41 |`KC_3`                 |                              |`3` and `#`                                    |
     42 |`KC_4`                 |                              |`4` and `$`                                    |
     43 |`KC_5`                 |                              |`5` and `%`                                    |
     44 |`KC_6`                 |                              |`6` and `^`                                    |
     45 |`KC_7`                 |                              |`7` and `&`                                    |
     46 |`KC_8`                 |                              |`8` and `*`                                    |
     47 |`KC_9`                 |                              |`9` and `(`                                    |
     48 |`KC_0`                 |                              |`0` and `)`                                    |
     49 |`KC_ENTER`             |`KC_ENT`                      |Return (Enter)                                 |
     50 |`KC_ESCAPE`            |`KC_ESC`                      |Escape                                         |
     51 |`KC_BSPACE`            |`KC_BSPC`                     |Delete (Backspace)                             |
     52 |`KC_TAB`               |                              |Tab                                            |
     53 |`KC_SPACE`             |`KC_SPC`                      |Spacebar                                       |
     54 |`KC_MINUS`             |`KC_MINS`                     |`-` and `_`                                    |
     55 |`KC_EQUAL`             |`KC_EQL`                      |`=` and `+`                                    |
     56 |`KC_LBRACKET`          |`KC_LBRC`                     |`[` and `{`                                    |
     57 |`KC_RBRACKET`          |`KC_RBRC`                     |`]` and `}`                                    |
     58 |`KC_BSLASH`            |`KC_BSLS`                     |`\` and <code>&#124;</code>                    |
     59 |`KC_NONUS_HASH`        |`KC_NUHS`                     |Non-US `#` and `~`                             |
     60 |`KC_SCOLON`            |`KC_SCLN`                     |`;` and `:`                                    |
     61 |`KC_QUOTE`             |`KC_QUOT`                     |`'` and `"`                                    |
     62 |`KC_GRAVE`             |`KC_GRV`, `KC_ZKHK`           |<code>&#96;</code> and `~`, JIS Zenkaku/Hankaku|
     63 |`KC_COMMA`             |`KC_COMM`                     |`,` and `<`                                    |
     64 |`KC_DOT`               |                              |`.` and `>`                                    |
     65 |`KC_SLASH`             |`KC_SLSH`                     |`/` and `?`                                    |
     66 |`KC_CAPSLOCK`          |`KC_CLCK`, `KC_CAPS`          |Caps Lock                                      |
     67 |`KC_F1`                |                              |F1                                             |
     68 |`KC_F2`                |                              |F2                                             |
     69 |`KC_F3`                |                              |F3                                             |
     70 |`KC_F4`                |                              |F4                                             |
     71 |`KC_F5`                |                              |F5                                             |
     72 |`KC_F6`                |                              |F6                                             |
     73 |`KC_F7`                |                              |F7                                             |
     74 |`KC_F8`                |                              |F8                                             |
     75 |`KC_F9`                |                              |F9                                             |
     76 |`KC_F10`               |                              |F10                                            |
     77 |`KC_F11`               |                              |F11                                            |
     78 |`KC_F12`               |                              |F12                                            |
     79 |`KC_PSCREEN`           |`KC_PSCR`                     |Print Screen                                   |
     80 |`KC_SCROLLLOCK`        |`KC_SLCK`, `KC_BRMD`          |Scroll Lock, Brightness Down (macOS)           |
     81 |`KC_PAUSE`             |`KC_PAUS`, `KC_BRK`, `KC_BRMU`|Pause, Brightness Up (macOS)                   |
     82 |`KC_INSERT`            |`KC_INS`                      |Insert                                         |
     83 |`KC_HOME`              |                              |Home                                           |
     84 |`KC_PGUP`              |                              |Page Up                                        |
     85 |`KC_DELETE`            |`KC_DEL`                      |Forward Delete                                 |
     86 |`KC_END`               |                              |End                                            |
     87 |`KC_PGDOWN`            |`KC_PGDN`                     |Page Down                                      |
     88 |`KC_RIGHT`             |`KC_RGHT`                     |Right Arrow                                    |
     89 |`KC_LEFT`              |                              |Left Arrow                                     |
     90 |`KC_DOWN`              |                              |Down Arrow                                     |
     91 |`KC_UP`                |                              |Up Arrow                                       |
     92 |`KC_NUMLOCK`           |`KC_NLCK`                     |Keypad Num Lock and Clear                      |
     93 |`KC_KP_SLASH`          |`KC_PSLS`                     |Keypad `/`                                     |
     94 |`KC_KP_ASTERISK`       |`KC_PAST`                     |Keypad `*`                                     |
     95 |`KC_KP_MINUS`          |`KC_PMNS`                     |Keypad `-`                                     |
     96 |`KC_KP_PLUS`           |`KC_PPLS`                     |Keypad `+`                                     |
     97 |`KC_KP_ENTER`          |`KC_PENT`                     |Keypad Enter                                   |
     98 |`KC_KP_1`              |`KC_P1`                       |Keypad `1` and End                             |
     99 |`KC_KP_2`              |`KC_P2`                       |Keypad `2` and Down Arrow                      |
    100 |`KC_KP_3`              |`KC_P3`                       |Keypad `3` and Page Down                       |
    101 |`KC_KP_4`              |`KC_P4`                       |Keypad `4` and Left Arrow                      |
    102 |`KC_KP_5`              |`KC_P5`                       |Keypad `5`                                     |
    103 |`KC_KP_6`              |`KC_P6`                       |Keypad `6` and Right Arrow                     |
    104 |`KC_KP_7`              |`KC_P7`                       |Keypad `7` and Home                            |
    105 |`KC_KP_8`              |`KC_P8`                       |Keypad `8` and Up Arrow                        |
    106 |`KC_KP_9`              |`KC_P9`                       |Keypad `9` and Page Up                         |
    107 |`KC_KP_0`              |`KC_P0`                       |Keypad `0` and Insert                          |
    108 |`KC_KP_DOT`            |`KC_PDOT`                     |Keypad `.` and Delete                          |
    109 |`KC_NONUS_BSLASH`      |`KC_NUBS`                     |Non-US `\` and <code>&#124;</code>             |
    110 |`KC_APPLICATION`       |`KC_APP`                      |Application (Windows Menu Key)                 |
    111 |`KC_POWER`             |                              |System Power (macOS)                           |
    112 |`KC_KP_EQUAL`          |`KC_PEQL`                     |Keypad `=`                                     |
    113 |`KC_F13`               |                              |F13                                            |
    114 |`KC_F14`               |                              |F14                                            |
    115 |`KC_F15`               |                              |F15                                            |
    116 |`KC_F16`               |                              |F16                                            |
    117 |`KC_F17`               |                              |F17                                            |
    118 |`KC_F18`               |                              |F18                                            |
    119 |`KC_F19`               |                              |F19                                            |
    120 |`KC_F20`               |                              |F20                                            |
    121 |`KC_F21`               |                              |F21                                            |
    122 |`KC_F22`               |                              |F22                                            |
    123 |`KC_F23`               |                              |F23                                            |
    124 |`KC_F24`               |                              |F24                                            |
    125 |`KC_EXECUTE`           |`KC_EXEC`                     |Execute                                        |
    126 |`KC_HELP`              |                              |Help                                           |
    127 |`KC_MENU`              |                              |Menu                                           |
    128 |`KC_SELECT`            |`KC_SLCT`                     |Select                                         |
    129 |`KC_STOP`              |                              |Stop                                           |
    130 |`KC_AGAIN`             |`KC_AGIN`                     |Again                                          |
    131 |`KC_UNDO`              |                              |Undo                                           |
    132 |`KC_CUT`               |                              |Cut                                            |
    133 |`KC_COPY`              |                              |Copy                                           |
    134 |`KC_PASTE`             |`KC_PSTE`                     |Paste                                          |
    135 |`KC_FIND`              |                              |Find                                           |
    136 |`KC__MUTE`             |                              |Mute (macOS)                                   |
    137 |`KC__VOLUP`            |                              |Volume Up (macOS)                              |
    138 |`KC__VOLDOWN`          |                              |Volume Down (macOS)                            |
    139 |`KC_LOCKING_CAPS`      |`KC_LCAP`                     |Locking Caps Lock                              |
    140 |`KC_LOCKING_NUM`       |`KC_LNUM`                     |Locking Num Lock                               |
    141 |`KC_LOCKING_SCROLL`    |`KC_LSCR`                     |Locking Scroll Lock                            |
    142 |`KC_KP_COMMA`          |`KC_PCMM`                     |Keypad `,`                                     |
    143 |`KC_KP_EQUAL_AS400`    |                              |Keypad `=` on AS/400 keyboards                 |
    144 |`KC_INT1`              |`KC_RO`                       |JIS `\` and `_`                                |
    145 |`KC_INT2`              |`KC_KANA`                     |JIS Katakana/Hiragana                          |
    146 |`KC_INT3`              |`KC_JYEN`                     |JIS `¥` and <code>&#124;</code>                |
    147 |`KC_INT4`              |`KC_HENK`                     |JIS Henkan                                     |
    148 |`KC_INT5`              |`KC_MHEN`                     |JIS Muhenkan                                   |
    149 |`KC_INT6`              |                              |JIS Numpad `,`                                 |
    150 |`KC_INT7`              |                              |International 7                                |
    151 |`KC_INT8`              |                              |International 8                                |
    152 |`KC_INT9`              |                              |International 9                                |
    153 |`KC_LANG1`             |`KC_HAEN`                     |Hangul/English                                 |
    154 |`KC_LANG2`             |`KC_HANJ`                     |Hanja                                          |
    155 |`KC_LANG3`             |                              |JIS Katakana                                   |
    156 |`KC_LANG4`             |                              |JIS Hiragana                                   |
    157 |`KC_LANG5`             |                              |JIS Zenkaku/Hankaku                            |
    158 |`KC_LANG6`             |                              |Language 6                                     |
    159 |`KC_LANG7`             |                              |Language 7                                     |
    160 |`KC_LANG8`             |                              |Language 8                                     |
    161 |`KC_LANG9`             |                              |Language 9                                     |
    162 |`KC_ALT_ERASE`         |`KC_ERAS`                     |Alternate Erase                                |
    163 |`KC_SYSREQ`            |                              |SysReq/Attention                               |
    164 |`KC_CANCEL`            |                              |Cancel                                         |
    165 |`KC_CLEAR`             |`KC_CLR`                      |Clear                                          |
    166 |`KC_PRIOR`             |                              |Prior                                          |
    167 |`KC_RETURN`            |                              |Return                                         |
    168 |`KC_SEPARATOR`         |                              |Separator                                      |
    169 |`KC_OUT`               |                              |Out                                            |
    170 |`KC_OPER`              |                              |Oper                                           |
    171 |`KC_CLEAR_AGAIN`       |                              |Clear/Again                                    |
    172 |`KC_CRSEL`             |                              |CrSel/Props                                    |
    173 |`KC_EXSEL`             |                              |ExSel                                          |
    174 |`KC_LCTRL`             |`KC_LCTL`                     |Left Control                                   |
    175 |`KC_LSHIFT`            |`KC_LSFT`                     |Left Shift                                     |
    176 |`KC_LALT`              |                              |Left Alt                                       |
    177 |`KC_LGUI`              |`KC_LCMD`, `KC_LWIN`          |Left GUI (Windows/Command/Meta key)            |
    178 |`KC_RCTRL`             |`KC_RCTL`                     |Right Control                                  |
    179 |`KC_RSHIFT`            |`KC_RSFT`                     |Right Shift                                    |
    180 |`KC_RALT`              |`KC_ALGR`                     |Right Alt (AltGr)                              |
    181 |`KC_RGUI`              |`KC_RCMD`, `KC_RWIN`          |Right GUI (Windows/Command/Meta key)           |
    182 |`KC_SYSTEM_POWER`      |`KC_PWR`                      |System Power Down                              |
    183 |`KC_SYSTEM_SLEEP`      |`KC_SLEP`                     |System Sleep                                   |
    184 |`KC_SYSTEM_WAKE`       |`KC_WAKE`                     |System Wake                                    |
    185 |`KC_AUDIO_MUTE`        |`KC_MUTE`                     |Mute                                           |
    186 |`KC_AUDIO_VOL_UP`      |`KC_VOLU`                     |Volume Up                                      |
    187 |`KC_AUDIO_VOL_DOWN`    |`KC_VOLD`                     |Volume Down                                    |
    188 |`KC_MEDIA_NEXT_TRACK`  |`KC_MNXT`                     |Next Track (Windows)                           |
    189 |`KC_MEDIA_PREV_TRACK`  |`KC_MPRV`                     |Previous Track (Windows)                       |
    190 |`KC_MEDIA_STOP`        |`KC_MSTP`                     |Stop Track (Windows)                           |
    191 |`KC_MEDIA_PLAY_PAUSE`  |`KC_MPLY`                     |Play/Pause Track                               |
    192 |`KC_MEDIA_SELECT`      |`KC_MSEL`                     |Launch Media Player (Windows)                  |
    193 |`KC_MEDIA_EJECT`       |`KC_EJCT`                     |Eject (macOS)                                  |
    194 |`KC_MAIL`              |                              |Launch Mail (Windows)                          |
    195 |`KC_CALCULATOR`        |`KC_CALC`                     |Launch Calculator (Windows)                    |
    196 |`KC_MY_COMPUTER`       |`KC_MYCM`                     |Launch My Computer (Windows)                   |
    197 |`KC_WWW_SEARCH`        |`KC_WSCH`                     |Browser Search (Windows)                       |
    198 |`KC_WWW_HOME`          |`KC_WHOM`                     |Browser Home (Windows)                         |
    199 |`KC_WWW_BACK`          |`KC_WBAK`                     |Browser Back (Windows)                         |
    200 |`KC_WWW_FORWARD`       |`KC_WFWD`                     |Browser Forward (Windows)                      |
    201 |`KC_WWW_STOP`          |`KC_WSTP`                     |Browser Stop (Windows)                         |
    202 |`KC_WWW_REFRESH`       |`KC_WREF`                     |Browser Refresh (Windows)                      |
    203 |`KC_WWW_FAVORITES`     |`KC_WFAV`                     |Browser Favorites (Windows)                    |
    204 |`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`                     |Next Track (macOS)                             |
    205 |`KC_MEDIA_REWIND`      |`KC_MRWD`                     |Previous Track (macOS)                         |
    206 |`KC_BRIGHTNESS_UP`     |`KC_BRIU`                     |Brightness Up                                  |
    207 |`KC_BRIGHTNESS_DOWN`   |`KC_BRID`                     |Brightness Down                                |
    208 
    209 ## [Quantum Keycodes](quantum_keycodes.md#qmk-keycodes)
    210 
    211 |Key            |Aliases    |Description                                                          |
    212 |---------------|-----------|---------------------------------------------------------------------|
    213 |`RESET`        |           |Put the keyboard into DFU mode for flashing                          |
    214 |`DEBUG`        |           |Toggle debug mode                                                    |
    215 |`EEPROM_RESET` |`EEP_RST`  |Resets EEPROM state by reinitializing it                             |
    216 |`KC_GESC`      |`GRAVE_ESC`|Escape when tapped, <code>&#96;</code> when pressed with Shift or GUI|
    217 |`KC_LSPO`      |           |Left Shift when held, `(` when tapped                                |
    218 |`KC_RSPC`      |           |Right Shift when held, `)` when tapped                               |
    219 |`KC_LCPO`      |           |Left Control when held, `(` when tapped                              |
    220 |`KC_RCPC`      |           |Right Control when held, `)` when tapped                             |
    221 |`KC_LAPO`      |           |Left Alt when held, `(` when tapped                                  |
    222 |`KC_RAPC`      |           |Right Alt when held, `)` when tapped                                 |
    223 |`KC_SFTENT`    |           |Right Shift when held, Enter when tapped                             |
    224 |`KC_LEAD`      |           |The [Leader key](feature_leader_key.md)                              |
    225 |`KC_LOCK`      |           |The [Lock key](feature_key_lock.md)                                  |
    226 |`FUNC(n)`      |`F(n)`     |Call `fn_action(n)` (deprecated)                                     |
    227 |`M(n)`         |           |Call macro `n`                                                       |
    228 |`MACROTAP(n)`  |           |Macro-tap `n` idk FIXME                                              |
    229 
    230 ## [Audio Keys](feature_audio.md)
    231 
    232 |Key             |Aliases  |Description                       |
    233 |----------------|---------|----------------------------------|
    234 |`AU_ON`         |         |Turns on Audio Feature            |
    235 |`AU_OFF`        |         |Turns off Audio Feature           |
    236 |`AU_TOG`        |         |Toggles Audio state               |
    237 |`CLICKY_TOGGLE` |`CK_TOGG`|Toggles Audio clicky mode         |
    238 |`CLICKY_UP`     |`CK_UP`  |Increases frequency of the clicks |
    239 |`CLICKY_DOWN`   |`CK_DOWN`|Decreases frequency of the clicks |
    240 |`CLICKY_RESET`  |`CK_RST` |Resets frequency to default       |
    241 |`MU_ON`         |         |Turns on Music Mode               |
    242 |`MU_OFF`        |         |Turns off Music Mode              |
    243 |`MU_TOG`        |         |Toggles Music Mode                |
    244 |`MU_MOD`        |         |Cycles through the music modes    |
    245 
    246 ## [Backlighting](feature_backlight.md)
    247 
    248 |Key      |Description                               |
    249 |---------|------------------------------------------|
    250 |`BL_TOGG`|Turn the backlight on or off              |
    251 |`BL_STEP`|Cycle through backlight levels            |
    252 |`BL_ON`  |Set the backlight to max brightness       |
    253 |`BL_OFF` |Turn the backlight off                    |
    254 |`BL_INC` |Increase the backlight level              |
    255 |`BL_DEC` |Decrease the backlight level              |
    256 |`BL_BRTG`|Toggle backlight breathing                |
    257 
    258 ## [Bootmagic](feature_bootmagic.md)
    259 
    260 |Key                               |Aliases  |Description                         |
    261 |----------------------------------|---------|------------------------------------|
    262 |`MAGIC_SWAP_CONTROL_CAPSLOCK`     |         |Swap Caps Lock and Left Control     |
    263 |`MAGIC_CAPSLOCK_TO_CONTROL`       |         |Treat Caps Lock as Control          |
    264 |`MAGIC_SWAP_LCTL_LGUI`            |         |Swap Left Control and GUI           |
    265 |`MAGIC_SWAP_RCTL_RGUI`            |         |Swap Right Control and GUI          |
    266 |`MAGIC_SWAP_LALT_LGUI`            |         |Swap Left Alt and GUI               |
    267 |`MAGIC_SWAP_RALT_RGUI`            |         |Swap Right Alt and GUI              |
    268 |`MAGIC_NO_GUI`                    |         |Disable the GUI key                 |
    269 |`MAGIC_SWAP_GRAVE_ESC`            |         |Swap <code>&#96;</code> and Escape  |
    270 |`MAGIC_SWAP_BACKSLASH_BACKSPACE`  |         |Swap `\` and Backspace              |
    271 |`MAGIC_HOST_NKRO`                 |         |Force NKRO on                       |
    272 |`MAGIC_SWAP_ALT_GUI`              |`AG_SWAP`|Swap Alt and GUI on both sides      |
    273 |`MAGIC_SWAP_CTL_GUI`              |`CG_SWAP`|Swap Ctrl and GUI on both sides (for macOS)|
    274 |`MAGIC_UNSWAP_CONTROL_CAPSLOCK`   |         |Unswap Caps Lock and Left Control   |
    275 |`MAGIC_UNCAPSLOCK_TO_CONTROL`     |         |Stop treating Caps Lock as Control  |
    276 |`MAGIC_UNSWAP_LCTL_LGUI`          |         |Unswap Left Control and GUI         |
    277 |`MAGIC_UNSWAP_RCTL_RGUI`          |         |Unswap Right Control and GUI        |
    278 |`MAGIC_UNSWAP_LALT_LGUI`          |         |Unswap Left Alt and GUI             |
    279 |`MAGIC_UNSWAP_RALT_RGUI`          |         |Unswap Right Alt and GUI            |
    280 |`MAGIC_UNNO_GUI`                  |         |Enable the GUI key                  |
    281 |`MAGIC_UNSWAP_GRAVE_ESC`          |         |Unswap <code>&#96;</code> and Escape|
    282 |`MAGIC_UNSWAP_BACKSLASH_BACKSPACE`|         |Unswap `\` and Backspace            |
    283 |`MAGIC_UNHOST_NKRO`               |         |Force NKRO off                      |
    284 |`MAGIC_UNSWAP_ALT_GUI`            |`AG_NORM`|Unswap Alt and GUI on both sides    |
    285 |`MAGIC_UNSWAP_CTL_GUI`            |`CG_NORM`|Unswap Ctrl and GUI on both sides      |
    286 |`MAGIC_TOGGLE_ALT_GUI`            |`AG_TOGG`|Toggle Alt and GUI swap on both sides  |
    287 |`MAGIC_TOGGLE_CTL_GUI`            |`CG_TOGG`|Toggle Ctrl and GUI swap on both sides |
    288 |`MAGIC_TOGGLE_NKRO`               |         |Turn NKRO on or off                    |
    289 
    290 ## [Bluetooth](feature_bluetooth.md)
    291 
    292 |Key       |Description                                   |
    293 |----------|----------------------------------------------|
    294 |`OUT_AUTO`|Automatically switch between USB and Bluetooth|
    295 |`OUT_USB` |USB only                                      |
    296 |`OUT_BT`  |Bluetooth only                                |
    297 
    298 ## [Layer Switching](feature_advanced_keycodes.md#switching-and-toggling-layers)
    299 
    300 |Key             |Description                                                                       |
    301 |----------------|----------------------------------------------------------------------------------|
    302 |`DF(layer)`     |Set the base (default) layer                                                      |
    303 |`MO(layer)`     |Momentarily turn on `layer` when pressed (requires `KC_TRNS` on destination layer)|
    304 |`OSL(layer)`    |Momentarily activates `layer` until a key is pressed. See [One Shot Keys](https://docs.qmk.fm/#/feature_advanced_keycodes?id=one-shot-keys) for details. |
    305 |`LM(layer, mod)`|Momentarily turn on `layer` (like MO) with `mod` active as well.  Where `mod` is a mods_bit.  Mods can be viewed [here](https://docs.qmk.fm/#/feature_advanced_keycodes?id=mod-tap).  Example Implementation: `LM(LAYER_1, MOD_LALT)`|
    306 |`LT(layer, kc)` |Turn on `layer` when held, `kc` when tapped                                       |
    307 |`TG(layer)`     |Toggle `layer` on or off                                                          |
    308 |`TO(layer)`     |Turns on `layer` and turns off all other layers, except the default layer |
    309 |`TT(layer)`     |Normally acts like MO unless it's tapped multiple times, which toggles `layer` on |
    310 
    311 ## [Mouse Keys](feature_mouse_keys.md)
    312 
    313 |Key             |Aliases  |Description                |
    314 |----------------|---------|---------------------------|
    315 |`KC_MS_UP`      |`KC_MS_U`|Mouse Cursor Up            |
    316 |`KC_MS_DOWN`    |`KC_MS_D`|Mouse Cursor Down          |
    317 |`KC_MS_LEFT`    |`KC_MS_L`|Mouse Cursor Left          |
    318 |`KC_MS_RIGHT`   |`KC_MS_R`|Mouse Cursor Right         |
    319 |`KC_MS_BTN1`    |`KC_BTN1`|Mouse Button 1             |
    320 |`KC_MS_BTN2`    |`KC_BTN2`|Mouse Button 2             |
    321 |`KC_MS_BTN3`    |`KC_BTN3`|Mouse Button 3             |
    322 |`KC_MS_BTN4`    |`KC_BTN4`|Mouse Button 4             |
    323 |`KC_MS_BTN5`    |`KC_BTN5`|Mouse Button 5             |
    324 |`KC_MS_WH_UP`   |`KC_WH_U`|Mouse Wheel Up             |
    325 |`KC_MS_WH_DOWN` |`KC_WH_D`|Mouse Wheel Down           |
    326 |`KC_MS_WH_LEFT` |`KC_WH_L`|Mouse Wheel Left           |
    327 |`KC_MS_WH_RIGHT`|`KC_WH_R`|Mouse Wheel Right          |
    328 |`KC_MS_ACCEL0`  |`KC_ACL0`|Set mouse acceleration to 0|
    329 |`KC_MS_ACCEL1`  |`KC_ACL1`|Set mouse acceleration to 1|
    330 |`KC_MS_ACCEL2`  |`KC_ACL2`|Set mouse acceleration to 2|
    331 
    332 ## [Modifiers](feature_advanced_keycodes.md#modifier-keys)
    333 
    334 |Key       |Aliases                        |Description                                         |
    335 |----------|-------------------------------|----------------------------------------------------|
    336 |`LCTL(kc)`|`C(kc)`                        |Hold Left Control and press `kc`                    |
    337 |`LSFT(kc)`|`S(kc)`                        |Hold Left Shift and press `kc`                      |
    338 |`LALT(kc)`|`A(kc)`                        |Hold Left Alt and press `kc`                        |
    339 |`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc`                        |
    340 |`RCTL(kc)`|                               |Hold Right Control and press `kc`                   |
    341 |`RSFT(kc)`|                               |Hold Right Shift and press `kc`                     |
    342 |`RALT(kc)`|`ALGR(kc)`                     |Hold Right Alt and press `kc`                       |
    343 |`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)`         |Hold Right GUI and press `kc`                       |
    344 |`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)`         |Hold Left Shift and GUI and press `kc`              |
    345 |`LCA(kc)` |                               |Hold Left Control and Alt and press `kc`            |
    346 |`LCAG(kc)`|                               |Hold Left Control, Alt and GUI and press `kc`       |
    347 |`MEH(kc)` |                               |Hold Left Control, Shift and Alt and press `kc`     |
    348 |`HYPR(kc)`|                               |Hold Left Control, Shift, Alt and GUI and press `kc`|
    349 |`KC_MEH`  |                               |Left Control, Shift and Alt                         |
    350 |`KC_HYPR` |                               |Left Control, Shift, Alt and GUI                    |
    351 
    352 ## [Mod-Tap Keys](feature_advanced_keycodes.md#mod-tap)
    353 
    354 |Key          |Aliases                                                          |Description                                            |
    355 |-------------|-----------------------------------------------------------------|-------------------------------------------------------|
    356 |`MT(mod, kc)`|                                                                 |`mod` when held, `kc` when tapped                      |
    357 |`LCTL_T(kc)` |`CTL_T(kc)`                                                      |Left Control when held, `kc` when tapped               |
    358 |`LSFT_T(kc)` |`SFT_T(kc)`                                                      |Left Shift when held, `kc` when tapped                 |
    359 |`LALT_T(kc)` |`ALT_T(kc)`                                                      |Left Alt when held, `kc` when tapped                   |
    360 |`LGUI_T(kc)` |`LCMD_T(kc)`, `LWIN_T(kc)`, `GUI_T(kc)`, `CMD_T(kc)`, `WIN_T(kc)`|Left GUI when held, `kc` when tapped                   |
    361 |`RCTL_T(kc)` |                                                                 |Right Control when held, `kc` when tapped              |
    362 |`RSFT_T(kc)` |                                                                 |Right Shift when held, `kc` when tapped                |
    363 |`RALT_T(kc)` |`ALGR_T(kc)`                                                     |Right Alt when held, `kc` when tapped                  |
    364 |`RGUI_T(kc)` |`RCMD_T(kc)`, `RWIN_T(kc)`                                       |Right GUI when held, `kc` when tapped                  |
    365 |`SGUI_T(kc)` |`SCMD_T(kc)`, `SWIN_T(kc)`                                       |Left Shift and GUI when held, `kc` when tapped         |
    366 |`LCA_T(kc)`  |                                                                 |Left Control and Alt when held, `kc` when tapped       |
    367 |`LCAG_T(kc)` |                                                                 |Left Control, Alt and GUI when held, `kc` when tapped  |
    368 |`RCAG_T(kc)` |                                                                 |Right Control, Alt and GUI when held, `kc` when tapped |
    369 |`C_S_T(kc)`  |                                                                 |Left Control and Shift when held, `kc` when tapped     |
    370 |`MEH_T(kc)`  |                                                                 |Left Control, Shift and Alt when held, `kc` when tapped|
    371 |`HYPR_T(kc)` |`ALL_T(kc)`                                                      |Left Control, Shift, Alt and GUI when held, `kc` when tapped - more info [here](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)|
    372 
    373 ## [RGB Lighting](feature_rgblight.md)
    374 
    375 |Key                |Aliases   |Description                                                         |
    376 |-------------------|----------|--------------------------------------------------------------------|
    377 |`RGB_TOG`          |          |Toggle RGB lighting on or off                                       |
    378 |`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held           |
    379 |`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held|
    380 |`RGB_HUI`          |          |Increase hue                                                        |
    381 |`RGB_HUD`          |          |Decrease hue                                                        |
    382 |`RGB_SAI`          |          |Increase saturation                                                 |
    383 |`RGB_SAD`          |          |Decrease saturation                                                 |
    384 |`RGB_VAI`          |          |Increase value (brightness)                                         |
    385 |`RGB_VAD`          |          |Decrease value (brightness)                                         |
    386 |`RGB_MODE_PLAIN`   |`RGB_M_P `|Static (no animation) mode                                          |
    387 |`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode                                            |
    388 |`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode                                              |
    389 |`RGB_MODE_SWIRL`   |`RGB_M_SW`|Swirl animation mode                                                |
    390 |`RGB_MODE_SNAKE`   |`RGB_M_SN`|Snake animation mode                                                |
    391 |`RGB_MODE_KNIGHT`  |`RGB_M_K` |"Knight Rider" animation mode                                       |
    392 |`RGB_MODE_XMAS`    |`RGB_M_X` |Christmas animation mode                                            |
    393 |`RGB_MODE_GRADIENT`|`RGB_M_G` |Static gradient animation mode                                      |
    394 |`RGB_MODE_RGBTEST` |`RGB_M_T` |Red,Green,Blue test animation mode                                  |
    395 
    396 ## [RGB Matrix Lighting](feature_rgb_matrix.md)
    397 
    398 |Key                |Aliases   |Description                                                         |
    399 |-------------------|----------|--------------------------------------------------------------------|
    400 |`RGB_TOG`          |          |Toggle RGB lighting on or off                                       |
    401 |`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held           |
    402 |`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held|
    403 |`RGB_HUI`          |          |Increase hue                                                        |
    404 |`RGB_HUD`          |          |Decrease hue                                                        |
    405 |`RGB_SAI`          |          |Increase saturation                                                 |
    406 |`RGB_SAD`          |          |Decrease saturation                                                 |
    407 |`RGB_VAI`          |          |Increase value (brightness)                                         |
    408 |`RGB_VAD`          |          |Decrease value (brightness)                                         |
    409 |`RGB_SPI`          |          |Increase effect speed (does no support eeprom yet)                  |
    410 |`RGB_SPD`          |          |Decrease effect speed (does no support eeprom yet)                  |
    411 
    412 ## [Thermal Printer](feature_thermal_printer.md)
    413 
    414 |Key        |Description                             |
    415 |-----------|----------------------------------------|
    416 |`PRINT_ON` |Start printing everything the user types|
    417 |`PRINT_OFF`|Stop printing everything the user types |
    418 
    419 ## [US ANSI Shifted Symbols](keycodes_us_ansi_shifted.md)
    420 
    421 |Key                     |Aliases            |Description        |
    422 |------------------------|-------------------|-------------------|
    423 |`KC_TILDE`              |`KC_TILD`          |`~`                |
    424 |`KC_EXCLAIM`            |`KC_EXLM`          |`!`                |
    425 |`KC_AT`                 |                   |`@`                |
    426 |`KC_HASH`               |                   |`#`                |
    427 |`KC_DOLLAR`             |`KC_DLR`           |`$`                |
    428 |`KC_PERCENT`            |`KC_PERC`          |`%`                |
    429 |`KC_CIRCUMFLEX`         |`KC_CIRC`          |`^`                |
    430 |`KC_AMPERSAND`          |`KC_AMPR`          |`&`                |
    431 |`KC_ASTERISK`           |`KC_ASTR`          |`*`                |
    432 |`KC_LEFT_PAREN`         |`KC_LPRN`          |`(`                |
    433 |`KC_RIGHT_PAREN`        |`KC_RPRN`          |`)`                |
    434 |`KC_UNDERSCORE`         |`KC_UNDS`          |`_`                |
    435 |`KC_PLUS`               |                   |`+`                |
    436 |`KC_LEFT_CURLY_BRACE`   |`KC_LCBR`          |`{`                |
    437 |`KC_RIGHT_CURLY_BRACE`  |`KC_RCBR`          |`}`                |
    438 |`KC_PIPE`               |                   |<code>&#124;</code>|
    439 |`KC_COLON`              |`KC_COLN`          |`:`                |
    440 |`KC_DOUBLE_QUOTE`       |`KC_DQUO`, `KC_DQT`|`"`                |
    441 |`KC_LEFT_ANGLE_BRACKET` |`KC_LABK`, `KC_LT` |`<`                |
    442 |`KC_RIGHT_ANGLE_BRACKET`|`KC_RABK`, `KC_GT` |`>`                |
    443 |`KC_QUESTION`           |`KC_QUES`          |`?`                |
    444 
    445 ## [One Shot Keys](feature_advanced_keycodes.md#one-shot-keys)
    446 
    447 |Key         |Description                       |
    448 |------------|----------------------------------|
    449 |`OSM(mod)`  |Hold `mod` for one keypress       |
    450 |`OSL(layer)`|Switch to `layer` for one keypress|
    451 
    452 ## [Swap Hands](feature_swap_hands.md)
    453 
    454 |Key        |Description                                                              |
    455 |-----------|-------------------------------------------------------------------------|
    456 |`SH_T(key)`|Sends `key` with a tap; momentary swap when held.                        |
    457 |`SW_ON`    |Turns on swapping and leaves it on.                                      |
    458 |`SW_OFF`   |Turn off swapping and leaves it off. Good for returning to a known state.|
    459 |`SH_MON`   |Swaps hands when pressed, returns to normal when released (momentary).   |
    460 |`SH_MOFF`  |Momentarily turns off swap.                                              |
    461 |`SH_TG`    |Toggles swap on and off with every key press.                            |
    462 |`SH_TT`    |Toggles with a tap; momentary when held.                                 |
    463 
    464 ## [Unicode Support](feature_unicode.md)
    465 
    466 |Key                   |Aliases  |Description                                                     |
    467 |----------------------|---------|----------------------------------------------------------------|
    468 |`UC(c)`               |         |Send Unicode code point `c`                                     |
    469 |`X(i)`                |         |Send Unicode code point at index `i` in `unicode_map`           |
    470 |`XP(i, j)`            |         |Send Unicode code point at index `i`, or `j` if Shift/Caps is on|
    471 |`UNICODE_MODE_FORWARD`|`UC_MOD` |Cycle through selected input modes                              |
    472 |`UNICODE_MODE_REVERSE`|`UC_RMOD`|Cycle through selected input modes in reverse                   |
    473 |`UNICODE_MODE_OSX`    |`UC_M_OS`|Switch to macOS input                                           |
    474 |`UNICODE_MODE_LNX`    |`UC_M_LN`|Switch to Linux input                                           |
    475 |`UNICODE_MODE_WIN`    |`UC_M_WI`|Switch to Windows input                                         |
    476 |`UNICODE_MODE_BSD`    |`UC_M_BS`|Switch to BSD input (not implemented)                           |
    477 |`UNICODE_MODE_WINC`   |`UC_M_WC`|Switch to Windows input using WinCompose                        |