keycodes.md (88613B)
1 # Keycodes Overview 2 3 When defining a [keymap](keymap) 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 {#basic-keycodes} 8 9 See also: [Basic Keycodes](keycodes_basic) 10 11 |Key |Aliases |Description |Windows |macOS |Linux<sup>1</sup>| 12 |------------------------|-------------------------------|---------------------------------------|-------------|-------------|-----------------| 13 |`KC_NO` |`XXXXXXX` |Ignore this key (NOOP) |*N/A* |*N/A* |*N/A* | 14 |`KC_TRANSPARENT` |`KC_TRNS`, `_______` |Use the next lowest non-transparent key|*N/A* |*N/A* |*N/A* | 15 |`KC_A` | |`a` and `A` |✔ |✔ |✔ | 16 |`KC_B` | |`b` and `B` |✔ |✔ |✔ | 17 |`KC_C` | |`c` and `C` |✔ |✔ |✔ | 18 |`KC_D` | |`d` and `D` |✔ |✔ |✔ | 19 |`KC_E` | |`e` and `E` |✔ |✔ |✔ | 20 |`KC_F` | |`f` and `F` |✔ |✔ |✔ | 21 |`KC_G` | |`g` and `G` |✔ |✔ |✔ | 22 |`KC_H` | |`h` and `H` |✔ |✔ |✔ | 23 |`KC_I` | |`i` and `I` |✔ |✔ |✔ | 24 |`KC_J` | |`j` and `J` |✔ |✔ |✔ | 25 |`KC_K` | |`k` and `K` |✔ |✔ |✔ | 26 |`KC_L` | |`l` and `L` |✔ |✔ |✔ | 27 |`KC_M` | |`m` and `M` |✔ |✔ |✔ | 28 |`KC_N` | |`n` and `N` |✔ |✔ |✔ | 29 |`KC_O` | |`o` and `O` |✔ |✔ |✔ | 30 |`KC_P` | |`p` and `P` |✔ |✔ |✔ | 31 |`KC_Q` | |`q` and `Q` |✔ |✔ |✔ | 32 |`KC_R` | |`r` and `R` |✔ |✔ |✔ | 33 |`KC_S` | |`s` and `S` |✔ |✔ |✔ | 34 |`KC_T` | |`t` and `T` |✔ |✔ |✔ | 35 |`KC_U` | |`u` and `U` |✔ |✔ |✔ | 36 |`KC_V` | |`v` and `V` |✔ |✔ |✔ | 37 |`KC_W` | |`w` and `W` |✔ |✔ |✔ | 38 |`KC_X` | |`x` and `X` |✔ |✔ |✔ | 39 |`KC_Y` | |`y` and `Y` |✔ |✔ |✔ | 40 |`KC_Z` | |`z` and `Z` |✔ |✔ |✔ | 41 |`KC_1` | |`1` and `!` |✔ |✔ |✔ | 42 |`KC_2` | |`2` and `@` |✔ |✔ |✔ | 43 |`KC_3` | |`3` and `#` |✔ |✔ |✔ | 44 |`KC_4` | |`4` and `$` |✔ |✔ |✔ | 45 |`KC_5` | |`5` and `%` |✔ |✔ |✔ | 46 |`KC_6` | |`6` and `^` |✔ |✔ |✔ | 47 |`KC_7` | |`7` and `&` |✔ |✔ |✔ | 48 |`KC_8` | |`8` and `*` |✔ |✔ |✔ | 49 |`KC_9` | |`9` and `(` |✔ |✔ |✔ | 50 |`KC_0` | |`0` and `)` |✔ |✔ |✔ | 51 |`KC_ENTER` |`KC_ENT` |Return (Enter) |✔ |✔ |✔ | 52 |`KC_ESCAPE` |`KC_ESC` |Escape |✔ |✔ |✔ | 53 |`KC_BACKSPACE` |`KC_BSPC` |Delete (Backspace) |✔ |✔ |✔ | 54 |`KC_TAB` | |Tab |✔ |✔ |✔ | 55 |`KC_SPACE` |`KC_SPC` |Spacebar |✔ |✔ |✔ | 56 |`KC_MINUS` |`KC_MINS` |`-` and `_` |✔ |✔ |✔ | 57 |`KC_EQUAL` |`KC_EQL` |`=` and `+` |✔ |✔ |✔ | 58 |`KC_LEFT_BRACKET` |`KC_LBRC` |`[` and `{` |✔ |✔ |✔ | 59 |`KC_RIGHT_BRACKET` |`KC_RBRC` |`]` and `}` |✔ |✔ |✔ | 60 |`KC_BACKSLASH` |`KC_BSLS` |`\` and `\|` |✔ |✔ |✔ | 61 |`KC_NONUS_HASH` |`KC_NUHS` |Non-US `#` and `~` |✔ |✔ |✔ | 62 |`KC_SEMICOLON` |`KC_SCLN` |`;` and `:` |✔ |✔ |✔ | 63 |`KC_QUOTE` |`KC_QUOT` |`'` and `"` |✔ |✔ |✔ | 64 |`KC_GRAVE` |`KC_GRV` |<code>`</code> and `~` |✔ |✔ |✔ | 65 |`KC_COMMA` |`KC_COMM` |`,` and `<` |✔ |✔ |✔ | 66 |`KC_DOT` | |`.` and `>` |✔ |✔ |✔ | 67 |`KC_SLASH` |`KC_SLSH` |`/` and `?` |✔ |✔ |✔ | 68 |`KC_CAPS_LOCK` |`KC_CAPS` |Caps Lock |✔ |✔ |✔ | 69 |`KC_F1` | |F1 |✔ |✔ |✔ | 70 |`KC_F2` | |F2 |✔ |✔ |✔ | 71 |`KC_F3` | |F3 |✔ |✔ |✔ | 72 |`KC_F4` | |F4 |✔ |✔ |✔ | 73 |`KC_F5` | |F5 |✔ |✔ |✔ | 74 |`KC_F6` | |F6 |✔ |✔ |✔ | 75 |`KC_F7` | |F7 |✔ |✔ |✔ | 76 |`KC_F8` | |F8 |✔ |✔ |✔ | 77 |`KC_F9` | |F9 |✔ |✔ |✔ | 78 |`KC_F10` | |F10 |✔ |✔ |✔ | 79 |`KC_F11` | |F11 |✔ |✔ |✔ | 80 |`KC_F12` | |F12 |✔ |✔ |✔ | 81 |`KC_PRINT_SCREEN` |`KC_PSCR` |Print Screen |✔ |✔<sup>2</sup>|✔ | 82 |`KC_SCROLL_LOCK` |`KC_SCRL`, `KC_BRMD` |Scroll Lock, Brightness Down (macOS) |✔ |✔<sup>2</sup>|✔ | 83 |`KC_PAUSE` |`KC_PAUS`, `KC_BRK`, `KC_BRMU` |Pause, Brightness Up (macOS) |✔ |✔<sup>2</sup>|✔ | 84 |`KC_INSERT` |`KC_INS` |Insert |✔ | |✔ | 85 |`KC_HOME` | |Home |✔ |✔ |✔ | 86 |`KC_PAGE_UP` |`KC_PGUP` |Page Up |✔ |✔ |✔ | 87 |`KC_DELETE` |`KC_DEL` |Forward Delete |✔ |✔ |✔ | 88 |`KC_END` | |End |✔ |✔ |✔ | 89 |`KC_PAGE_DOWN` |`KC_PGDN` |Page Down |✔ |✔ |✔ | 90 |`KC_RIGHT` |`KC_RGHT` |Right Arrow |✔ |✔ |✔ | 91 |`KC_LEFT` | |Left Arrow |✔ |✔ |✔ | 92 |`KC_DOWN` | |Down Arrow |✔ |✔ |✔ | 93 |`KC_UP` | |Up Arrow |✔ |✔ |✔ | 94 |`KC_NUM_LOCK` |`KC_NUM` |Keypad Num Lock and Clear |✔ |✔ |✔ | 95 |`KC_KP_SLASH` |`KC_PSLS` |Keypad `/` |✔ |✔ |✔ | 96 |`KC_KP_ASTERISK` |`KC_PAST` |Keypad `*` |✔ |✔ |✔ | 97 |`KC_KP_MINUS` |`KC_PMNS` |Keypad `-` |✔ |✔ |✔ | 98 |`KC_KP_PLUS` |`KC_PPLS` |Keypad `+` |✔ |✔ |✔ | 99 |`KC_KP_ENTER` |`KC_PENT` |Keypad Enter |✔ |✔ |✔ | 100 |`KC_KP_1` |`KC_P1` |Keypad `1` and End |✔ |✔ |✔ | 101 |`KC_KP_2` |`KC_P2` |Keypad `2` and Down Arrow |✔ |✔ |✔ | 102 |`KC_KP_3` |`KC_P3` |Keypad `3` and Page Down |✔ |✔ |✔ | 103 |`KC_KP_4` |`KC_P4` |Keypad `4` and Left Arrow |✔ |✔ |✔ | 104 |`KC_KP_5` |`KC_P5` |Keypad `5` |✔ |✔ |✔ | 105 |`KC_KP_6` |`KC_P6` |Keypad `6` and Right Arrow |✔ |✔ |✔ | 106 |`KC_KP_7` |`KC_P7` |Keypad `7` and Home |✔ |✔ |✔ | 107 |`KC_KP_8` |`KC_P8` |Keypad `8` and Up Arrow |✔ |✔ |✔ | 108 |`KC_KP_9` |`KC_P9` |Keypad `9` and Page Up |✔ |✔ |✔ | 109 |`KC_KP_0` |`KC_P0` |Keypad `0` and Insert |✔ |✔ |✔ | 110 |`KC_KP_DOT` |`KC_PDOT` |Keypad `.` and Delete |✔ |✔ |✔ | 111 |`KC_NONUS_BACKSLASH` |`KC_NUBS` |Non-US `\` and `\|` |✔ |✔ |✔ | 112 |`KC_APPLICATION` |`KC_APP` |Application (Windows Context Menu Key) |✔ | |✔ | 113 |`KC_KB_POWER` | |System Power | |✔<sup>3</sup>|✔ | 114 |`KC_KP_EQUAL` |`KC_PEQL` |Keypad `=` |✔ |✔ |✔ | 115 |`KC_F13` | |F13 |✔ |✔ |✔ | 116 |`KC_F14` | |F14 |✔ |✔ |✔ | 117 |`KC_F15` | |F15 |✔ |✔ |✔ | 118 |`KC_F16` | |F16 |✔ |✔ |✔ | 119 |`KC_F17` | |F17 |✔ |✔ |✔ | 120 |`KC_F18` | |F18 |✔ |✔ |✔ | 121 |`KC_F19` | |F19 |✔ |✔ |✔ | 122 |`KC_F20` | |F20 |✔ | |✔ | 123 |`KC_F21` | |F21 |✔ | |✔ | 124 |`KC_F22` | |F22 |✔ | |✔ | 125 |`KC_F23` | |F23 |✔ | |✔ | 126 |`KC_F24` | |F24 |✔ | |✔ | 127 |`KC_EXECUTE` |`KC_EXEC` |Execute | | |✔ | 128 |`KC_HELP` | |Help | | |✔ | 129 |`KC_MENU` | |Menu | | |✔ | 130 |`KC_SELECT` |`KC_SLCT` |Select | | |✔ | 131 |`KC_STOP` | |Stop | | |✔ | 132 |`KC_AGAIN` |`KC_AGIN` |Again | | |✔ | 133 |`KC_UNDO` | |Undo | | |✔ | 134 |`KC_CUT` | |Cut | | |✔ | 135 |`KC_COPY` | |Copy | | |✔ | 136 |`KC_PASTE` |`KC_PSTE` |Paste | | |✔ | 137 |`KC_FIND` | |Find | | |✔ | 138 |`KC_KB_MUTE` | |Mute | |✔ |✔ | 139 |`KC_KB_VOLUME_UP` | |Volume Up | |✔ |✔ | 140 |`KC_KB_VOLUME_DOWN` | |Volume Down | |✔ |✔ | 141 |`KC_LOCKING_CAPS_LOCK` |`KC_LCAP` |Locking Caps Lock |✔ |✔ | | 142 |`KC_LOCKING_NUM_LOCK` |`KC_LNUM` |Locking Num Lock |✔ |✔ | | 143 |`KC_LOCKING_SCROLL_LOCK`|`KC_LSCR` |Locking Scroll Lock |✔ |✔ | | 144 |`KC_KP_COMMA` |`KC_PCMM` |Keypad `,` | | |✔ | 145 |`KC_KP_EQUAL_AS400` | |Keypad `=` on AS/400 keyboards | | | | 146 |`KC_INTERNATIONAL_1` |`KC_INT1` |International 1 |✔ | |✔ | 147 |`KC_INTERNATIONAL_2` |`KC_INT2` |International 2 |✔ | |✔ | 148 |`KC_INTERNATIONAL_3` |`KC_INT3` |International 3 |✔ | |✔ | 149 |`KC_INTERNATIONAL_4` |`KC_INT4` |International 4 |✔ | |✔ | 150 |`KC_INTERNATIONAL_5` |`KC_INT5` |International 5 |✔ | |✔ | 151 |`KC_INTERNATIONAL_6` |`KC_INT6` |International 6 | | |✔ | 152 |`KC_INTERNATIONAL_7` |`KC_INT7` |International 7 | | | | 153 |`KC_INTERNATIONAL_8` |`KC_INT8` |International 8 | | | | 154 |`KC_INTERNATIONAL_9` |`KC_INT9` |International 9 | | | | 155 |`KC_LANGUAGE_1` |`KC_LNG1` |Language 1 | | |✔ | 156 |`KC_LANGUAGE_2` |`KC_LNG2` |Language 2 | | |✔ | 157 |`KC_LANGUAGE_3` |`KC_LNG3` |Language 3 | | |✔ | 158 |`KC_LANGUAGE_4` |`KC_LNG4` |Language 4 | | |✔ | 159 |`KC_LANGUAGE_5` |`KC_LNG5` |Language 5 | | |✔ | 160 |`KC_LANGUAGE_6` |`KC_LNG6` |Language 6 | | | | 161 |`KC_LANGUAGE_7` |`KC_LNG7` |Language 7 | | | | 162 |`KC_LANGUAGE_8` |`KC_LNG8` |Language 8 | | | | 163 |`KC_LANGUAGE_9` |`KC_LNG9` |Language 9 | | | | 164 |`KC_ALTERNATE_ERASE` |`KC_ERAS` |Alternate Erase | | | | 165 |`KC_SYSTEM_REQUEST` |`KC_SYRQ` |SysReq/Attention | | | | 166 |`KC_CANCEL` |`KC_CNCL` |Cancel | | | | 167 |`KC_CLEAR` |`KC_CLR` |Clear | | |✔ | 168 |`KC_PRIOR` |`KC_PRIR` |Prior | | | | 169 |`KC_RETURN` |`KC_RETN` |Return | | | | 170 |`KC_SEPARATOR` |`KC_SEPR` |Separator | | | | 171 |`KC_OUT` | |Out | | | | 172 |`KC_OPER` | |Oper | | | | 173 |`KC_CLEAR_AGAIN` |`KC_CLAG` |Clear/Again | | | | 174 |`KC_CRSEL` |`KC_CRSL` |CrSel/Props | | | | 175 |`KC_EXSEL` |`KC_EXSL` |ExSel | | | | 176 |`KC_LEFT_CTRL` |`KC_LCTL` |Left Control |✔ |✔ |✔ | 177 |`KC_LEFT_SHIFT` |`KC_LSFT` |Left Shift |✔ |✔ |✔ | 178 |`KC_LEFT_ALT` |`KC_LALT`, `KC_LOPT` |Left Alt (Option) |✔ |✔ |✔ | 179 |`KC_LEFT_GUI` |`KC_LGUI`, `KC_LCMD`, `KC_LWIN`|Left GUI (Windows/Command/Super key) |✔ |✔ |✔ | 180 |`KC_RIGHT_CTRL` |`KC_RCTL` |Right Control |✔ |✔ |✔ | 181 |`KC_RIGHT_SHIFT` |`KC_RSFT` |Right Shift |✔ |✔ |✔ | 182 |`KC_RIGHT_ALT` |`KC_RALT`, `KC_ROPT`, `KC_ALGR`|Right Alt (Option/AltGr) |✔ |✔ |✔ | 183 |`KC_RIGHT_GUI` |`KC_RGUI`, `KC_RCMD`, `KC_RWIN`|Right GUI (Windows/Command/Super key) |✔ |✔ |✔ | 184 |`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down |✔ |✔<sup>3</sup>|✔ | 185 |`KC_SYSTEM_SLEEP` |`KC_SLEP` |System Sleep |✔ |✔<sup>3</sup>|✔ | 186 |`KC_SYSTEM_WAKE` |`KC_WAKE` |System Wake | |✔<sup>3</sup>|✔ | 187 |`KC_AUDIO_MUTE` |`KC_MUTE` |Mute |✔ |✔ |✔ | 188 |`KC_AUDIO_VOL_UP` |`KC_VOLU` |Volume Up |✔ |✔<sup>4</sup>|✔ | 189 |`KC_AUDIO_VOL_DOWN` |`KC_VOLD` |Volume Down |✔ |✔<sup>4</sup>|✔ | 190 |`KC_MEDIA_NEXT_TRACK` |`KC_MNXT` |Next Track |✔ |✔<sup>5</sup>|✔ | 191 |`KC_MEDIA_PREV_TRACK` |`KC_MPRV` |Previous Track |✔ |✔<sup>5</sup>|✔ | 192 |`KC_MEDIA_STOP` |`KC_MSTP` |Stop Track |✔ | |✔ | 193 |`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY` |Play/Pause Track |✔ |✔ |✔ | 194 |`KC_MEDIA_SELECT` |`KC_MSEL` |Launch Media Player |✔ | |✔ | 195 |`KC_MEDIA_EJECT` |`KC_EJCT` |Eject | |✔ |✔ | 196 |`KC_MAIL` | |Launch Mail |✔ | |✔ | 197 |`KC_CALCULATOR` |`KC_CALC` |Launch Calculator |✔ | |✔ | 198 |`KC_MY_COMPUTER` |`KC_MYCM` |Launch My Computer |✔ | |✔ | 199 |`KC_WWW_SEARCH` |`KC_WSCH` |Browser Search |✔ | |✔ | 200 |`KC_WWW_HOME` |`KC_WHOM` |Browser Home |✔ | |✔ | 201 |`KC_WWW_BACK` |`KC_WBAK` |Browser Back |✔ | |✔ | 202 |`KC_WWW_FORWARD` |`KC_WFWD` |Browser Forward |✔ | |✔ | 203 |`KC_WWW_STOP` |`KC_WSTP` |Browser Stop |✔ | |✔ | 204 |`KC_WWW_REFRESH` |`KC_WREF` |Browser Refresh |✔ | |✔ | 205 |`KC_WWW_FAVORITES` |`KC_WFAV` |Browser Favorites |✔ | |✔ | 206 |`KC_MEDIA_FAST_FORWARD` |`KC_MFFD` |Fast Forward |✔ |✔<sup>5</sup>|✔ | 207 |`KC_MEDIA_REWIND` |`KC_MRWD` |Rewind |✔<sup>6</sup>|✔<sup>5</sup>|✔ | 208 |`KC_BRIGHTNESS_UP` |`KC_BRIU` |Brightness Up |✔ |✔ |✔ | 209 |`KC_BRIGHTNESS_DOWN` |`KC_BRID` |Brightness Down |✔ |✔ |✔ | 210 |`KC_CONTROL_PANEL` |`KC_CPNL` |Open Control Panel |✔ | | | 211 |`KC_ASSISTANT` |`KC_ASST` |Launch Context-Aware Assistant |✔ | | | 212 |`KC_MISSION_CONTROL` |`KC_MCTL` |Open Mission Control | |✔ | | 213 |`KC_LAUNCHPAD` |`KC_LPAD` |Open Launchpad | |✔ | | 214 215 <sup>1. The Linux kernel HID driver recognizes [nearly all keycodes](https://github.com/torvalds/linux/blob/master/drivers/hid/hid-input.c), but the default bindings depend on the DE/WM.</sup><br/> 216 <sup>2. Treated as F13-F15.</sup><br/> 217 <sup>3. Must be held for about three seconds, and will display a prompt instead.</sup><br/> 218 <sup>4. Holding Shift+Option allows for finer control of volume level.</sup><br/> 219 <sup>5. Skips the entire track in iTunes when tapped, seeks within the current track when held.</sup><br/> 220 <sup>6. WMP does not recognize the Rewind key, but both alter playback speed in VLC.</sup> 221 222 ## Quantum Keycodes {#quantum-keycodes} 223 224 See also: [Quantum Keycodes](quantum_keycodes#qmk-keycodes) 225 226 |Key |Aliases |Description | 227 |-----------------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------| 228 |`QK_BOOTLOADER` |`QK_BOOT`|Put the keyboard into bootloader mode for flashing | 229 |`QK_DEBUG_TOGGLE`|`DB_TOGG`|Toggle debug mode | 230 |`QK_CLEAR_EEPROM`|`EE_CLR` |Reinitializes the keyboard's EEPROM (persistent memory) | 231 |`QK_MAKE` | |Sends `qmk compile -kb (keyboard) -km (keymap)`, or `qmk flash` if shift is held. Puts keyboard into bootloader mode if shift & control are held | 232 |`QK_REBOOT` |`QK_RBT` |Resets the keyboard. Does not load the bootloader | 233 234 ## Audio Keys {#audio-keys} 235 236 See also: [Audio](features/audio) 237 238 |Key |Aliases |Description | 239 |-------------------------|---------|-------------------------------------------| 240 |`QK_AUDIO_ON` |`AU_ON` |Turns on Audio Feature | 241 |`QK_AUDIO_OFF` |`AU_OFF` |Turns off Audio Feature | 242 |`QK_AUDIO_TOGGLE` |`AU_TOGG`|Toggles Audio state | 243 |`QK_AUDIO_CLICKY_TOGGLE` |`CK_TOGG`|Toggles Audio clicky mode | 244 |`QK_AUDIO_CLICKY_ON` |`CK_ON` |Turns on Audio clicky mode | 245 |`QK_AUDIO_CLICKY_OFF` |`CK_OFF` |Turns on Audio clicky mode | 246 |`QK_AUDIO_CLICKY_UP` |`CK_UP` |Increases frequency of the clicks | 247 |`QK_AUDIO_CLICKY_DOWN` |`CK_DOWN`|Decreases frequency of the clicks | 248 |`QK_AUDIO_CLICKY_RESET` |`CK_RST` |Resets frequency to default | 249 |`QK_MUSIC_ON` |`MU_ON` |Turns on Music Mode | 250 |`QK_MUSIC_OFF` |`MU_OFF` |Turns off Music Mode | 251 |`QK_MUSIC_TOGGLE` |`MU_TOGG`|Toggles Music Mode | 252 |`QK_MUSIC_MODE_NEXT` |`MU_NEXT`|Cycles through the music modes | 253 |`QK_AUDIO_VOICE_NEXT` |`AU_NEXT`|Cycles through the audio voices | 254 |`QK_AUDIO_VOICE_PREVIOUS`|`AU_PREV`|Cycles through the audio voices in reverse | 255 256 ## Auto Shift {#auto-shift} 257 258 See also: [Auto Shift](features/auto_shift) 259 260 |Key |Aliases |Description | 261 |----------------------|---------|--------------------------------------------| 262 |`QK_AUTO_SHIFT_DOWN` |`AS_DOWN`|Lower the Auto Shift timeout variable (down)| 263 |`QK_AUTO_SHIFT_UP` |`AS_UP` |Raise the Auto Shift timeout variable (up) | 264 |`QK_AUTO_SHIFT_REPORT`|`AS_RPT` |Report your current Auto Shift timeout value| 265 |`QK_AUTO_SHIFT_ON` |`AS_ON` |Turns on the Auto Shift Function | 266 |`QK_AUTO_SHIFT_OFF` |`AS_OFF` |Turns off the Auto Shift Function | 267 |`QK_AUTO_SHIFT_TOGGLE`|`AS_TOGG`|Toggles the state of the Auto Shift feature | 268 269 ## Autocorrect {#autocorrect} 270 271 See also: [Autocorrect](features/autocorrect) 272 273 |Key |Aliases |Description | 274 |-----------------------|---------|----------------------------------------------| 275 |`QK_AUTOCORRECT_ON` |`AC_ON` |Turns on the Autocorrect feature. | 276 |`QK_AUTOCORRECT_OFF` |`AC_OFF` |Turns off the Autocorrect feature. | 277 |`QK_AUTOCORRECT_TOGGLE`|`AC_TOGG`|Toggles the status of the Autocorrect feature.| 278 279 ## Backlighting {#backlighting} 280 281 See also: [Backlighting](features/backlight) 282 283 | Key | Aliases | Description | 284 |---------------------------------|-----------|-------------------------------------| 285 | `QK_BACKLIGHT_TOGGLE` | `BL_TOGG` | Turn the backlight on or off | 286 | `QK_BACKLIGHT_STEP` | `BL_STEP` | Cycle through backlight levels | 287 | `QK_BACKLIGHT_ON` | `BL_ON` | Set the backlight to max brightness | 288 | `QK_BACKLIGHT_OFF` | `BL_OFF` | Turn the backlight off | 289 | `QK_BACKLIGHT_UP` | `BL_UP` | Increase the backlight level | 290 | `QK_BACKLIGHT_DOWN` | `BL_DOWN` | Decrease the backlight level | 291 | `QK_BACKLIGHT_TOGGLE_BREATHING` | `BL_BRTG` | Toggle backlight breathing | 292 293 ## Wireless/Bluetooth {#bluetooth} 294 295 See also: [Wireless](features/wireless) 296 297 | Key | Aliases | Description | 298 |-----------------------------|-----------|-----------------------------------------------------------------------------------------------| 299 | `QK_OUTPUT_AUTO` | `OU_AUTO` | Automatically switch to USB when plugged in, otherwise use wireless | 300 | `QK_OUTPUT_NEXT` | `OU_NEXT` | Cycle forwards through USB, Bluetooth, and 2.4GHz (when available) **(not yet implemented)** | 301 | `QK_OUTPUT_PREV` | `OU_PREV` | Cycle backwards through USB, Bluetooth, and 2.4GHz (when available) **(not yet implemented)** | 302 | `QK_OUTPUT_NONE` | `OU_NONE` | Disable all output **(not yet implemented)** | 303 | `QK_OUTPUT_USB` | `OU_USB` | Output to USB only | 304 | `QK_OUTPUT_2P4GHZ` | `OU_2P4G` | Output to 2.4GHz only **(not yet implemented)** | 305 | `QK_OUTPUT_BLUETOOTH` | `OU_BT` | Output to Bluetooth only | 306 | `QK_BLUETOOTH_PROFILE_NEXT` | `BT_NEXT` | Move to the next Bluetooth profile **(not yet implemented)** | 307 | `QK_BLUETOOTH_PROFILE_PREV` | `BT_PREV` | Move to the previous Bluetooth profile **(not yet implemented)** | 308 | `QK_BLUETOOTH_UNPAIR` | `BT_UNPR` | Un-pair the current Bluetooth profile **(not yet implemented)** | 309 | `QK_BLUETOOTH_PROFILE1` | `BT_PRF1` | Swap to Bluetooth profile #1 **(not yet implemented)** | 310 | `QK_BLUETOOTH_PROFILE2` | `BT_PRF2` | Swap to Bluetooth profile #2 **(not yet implemented)** | 311 | `QK_BLUETOOTH_PROFILE3` | `BT_PRF3` | Swap to Bluetooth profile #3 **(not yet implemented)** | 312 | `QK_BLUETOOTH_PROFILE4` | `BT_PRF4` | Swap to Bluetooth profile #4 **(not yet implemented)** | 313 | `QK_BLUETOOTH_PROFILE5` | `BT_PRF5` | Swap to Bluetooth profile #5 **(not yet implemented)** | 314 315 ## Caps Word {#caps-word} 316 317 See also: [Caps Word](features/caps_word) 318 319 |Key |Aliases |Description | 320 |---------------------|---------|------------------------------| 321 |`QK_CAPS_WORD_TOGGLE`|`CW_TOGG`|Toggles Caps Word | 322 323 ## Dynamic Macros {#dynamic-macros} 324 325 See also: [Dynamic Macros](features/dynamic_macros) 326 327 |Key |Aliases |Description | 328 |---------------------------------|---------|--------------------------------------------------| 329 |`QK_DYNAMIC_MACRO_RECORD_START_1`|`DM_REC1`|Start recording Macro 1 | 330 |`QK_DYNAMIC_MACRO_RECORD_START_2`|`DM_REC2`|Start recording Macro 2 | 331 |`QK_DYNAMIC_MACRO_PLAY_1` |`DM_PLY1`|Replay Macro 1 | 332 |`QK_DYNAMIC_MACRO_PLAY_2` |`DM_PLY2`|Replay Macro 2 | 333 |`QK_DYNAMIC_MACRO_RECORD_STOP` |`DM_RSTP`|Finish the macro that is currently being recorded.| 334 335 ## Grave Escape {#grave-escape} 336 337 See also: [Grave Escape](features/grave_esc) 338 339 |Key |Aliases |Description | 340 |-----------------|---------|------------------------------------------------------------------| 341 |`QK_GRAVE_ESCAPE`|`QK_GESC`|Escape when pressed, <code>`</code> when Shift or GUI are held| 342 343 ## Joystick {#joystick} 344 345 See also: [Joystick](features/joystick) 346 347 |Key |Aliases|Description| 348 |-----------------------|-------|-----------| 349 |`QK_JOYSTICK_BUTTON_0` |`JS_0` |Button 0 | 350 |`QK_JOYSTICK_BUTTON_1` |`JS_1` |Button 1 | 351 |`QK_JOYSTICK_BUTTON_2` |`JS_2` |Button 2 | 352 |`QK_JOYSTICK_BUTTON_3` |`JS_3` |Button 3 | 353 |`QK_JOYSTICK_BUTTON_4` |`JS_4` |Button 4 | 354 |`QK_JOYSTICK_BUTTON_5` |`JS_5` |Button 5 | 355 |`QK_JOYSTICK_BUTTON_6` |`JS_6` |Button 6 | 356 |`QK_JOYSTICK_BUTTON_7` |`JS_7` |Button 7 | 357 |`QK_JOYSTICK_BUTTON_8` |`JS_8` |Button 8 | 358 |`QK_JOYSTICK_BUTTON_9` |`JS_9` |Button 9 | 359 |`QK_JOYSTICK_BUTTON_10`|`JS_10`|Button 10 | 360 |`QK_JOYSTICK_BUTTON_11`|`JS_11`|Button 11 | 361 |`QK_JOYSTICK_BUTTON_12`|`JS_12`|Button 12 | 362 |`QK_JOYSTICK_BUTTON_13`|`JS_13`|Button 13 | 363 |`QK_JOYSTICK_BUTTON_14`|`JS_14`|Button 14 | 364 |`QK_JOYSTICK_BUTTON_15`|`JS_15`|Button 15 | 365 |`QK_JOYSTICK_BUTTON_16`|`JS_16`|Button 16 | 366 |`QK_JOYSTICK_BUTTON_17`|`JS_17`|Button 17 | 367 |`QK_JOYSTICK_BUTTON_18`|`JS_18`|Button 18 | 368 |`QK_JOYSTICK_BUTTON_19`|`JS_19`|Button 19 | 369 |`QK_JOYSTICK_BUTTON_20`|`JS_20`|Button 20 | 370 |`QK_JOYSTICK_BUTTON_21`|`JS_21`|Button 21 | 371 |`QK_JOYSTICK_BUTTON_22`|`JS_22`|Button 22 | 372 |`QK_JOYSTICK_BUTTON_23`|`JS_23`|Button 23 | 373 |`QK_JOYSTICK_BUTTON_24`|`JS_24`|Button 24 | 374 |`QK_JOYSTICK_BUTTON_25`|`JS_25`|Button 25 | 375 |`QK_JOYSTICK_BUTTON_26`|`JS_26`|Button 26 | 376 |`QK_JOYSTICK_BUTTON_27`|`JS_27`|Button 27 | 377 |`QK_JOYSTICK_BUTTON_28`|`JS_28`|Button 28 | 378 |`QK_JOYSTICK_BUTTON_29`|`JS_29`|Button 29 | 379 |`QK_JOYSTICK_BUTTON_30`|`JS_30`|Button 30 | 380 |`QK_JOYSTICK_BUTTON_31`|`JS_31`|Button 31 | 381 382 ## Key Lock {#key-lock} 383 384 See also: [Key Lock](features/key_lock) 385 386 |Key |Description | 387 |---------|--------------------------------------------------------------| 388 |`QK_LOCK`|Hold down the next key pressed, until the key is pressed again| 389 390 ## Layer Lock {#layer-lock} 391 392 See also: [Layer Lock](features/layer_lock) 393 394 |Key |Aliases |Description | 395 |---------------|---------|----------------------------------| 396 |`QK_LAYER_LOCK`|`QK_LLCK`|Locks or unlocks the highest layer| 397 398 ## Layer Switching {#layer-switching} 399 400 See also: [Layer Switching](feature_layers#switching-and-toggling-layers) 401 402 |Key |Description | 403 |----------------|----------------------------------------------------------------------------------| 404 |`DF(layer)` |Set the base (default) layer until the keyboard loses power | 405 |`PDF(layer)` |Set the base (default) layer in EEPROM | 406 |`MO(layer)` |Momentarily turn on `layer` when pressed (requires `KC_TRNS` on destination layer)| 407 |`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](mod_tap). Example Implementation: `LM(LAYER_1, MOD_LALT)`| 408 |`LT(layer, kc)` |Turn on `layer` when held, `kc` when tapped | 409 |`TG(layer)` |Toggle `layer` on or off | 410 |`TO(layer)` |Turns on `layer` and turns off all other layers, except the default layer | 411 |`TT(layer)` |Normally acts like MO unless it's tapped multiple times, which toggles `layer` on | 412 413 ## Leader Key {#leader-key} 414 415 See also: [Leader Key](features/leader_key) 416 417 |Key |Description | 418 |---------|------------------------| 419 |`QK_LEAD`|Begins a leader sequence| 420 421 ## LED Matrix {#led-matrix} 422 423 See also: [LED Matrix](features/led_matrix) 424 425 |Key |Aliases |Description | 426 |-------------------------------|---------|-----------------------------------| 427 |`QK_LED_MATRIX_ON` |`LM_ON` |Turn on LED Matrix | 428 |`QK_LED_MATRIX_OFF` |`LM_OFF` |Turn off LED Matrix | 429 |`QK_LED_MATRIX_TOGGLE` |`LM_TOGG`|Toggle LED Matrix on or off | 430 |`QK_LED_MATRIX_MODE_NEXT` |`LM_NEXT`|Cycle through animations | 431 |`QK_LED_MATRIX_MODE_PREVIOUS` |`LM_PREV`|Cycle through animations in reverse| 432 |`QK_LED_MATRIX_BRIGHTNESS_UP` |`LM_BRIU`|Increase the brightness level | 433 |`QK_LED_MATRIX_BRIGHTNESS_DOWN`|`LM_BRID`|Decrease the brightness level | 434 |`QK_LED_MATRIX_SPEED_UP` |`LM_SPDU`|Increase the animation speed | 435 |`QK_LED_MATRIX_SPEED_DOWN` |`LM_SPDD`|Decrease the animation speed | 436 |`QK_LED_MATRIX_FLAG_NEXT` |`LM_FLGN`|Cycle through flags | 437 |`QK_LED_MATRIX_FLAG_PREVIOUS` |`LM_FLGP`|Cycle through flags in reverse | 438 439 ## Magic Keycodes {#magic-keycodes} 440 441 See also: [Magic Keycodes](keycodes_magic) 442 443 |Key |Aliases |Description | 444 |-------------------------------------|---------|--------------------------------------------------------------------------| 445 |`QK_MAGIC_SWAP_CONTROL_CAPS_LOCK` |`CL_SWAP`|Swap Caps Lock and Left Control | 446 |`QK_MAGIC_UNSWAP_CONTROL_CAPS_LOCK` |`CL_NORM`|Unswap Caps Lock and Left Control | 447 |`QK_MAGIC_TOGGLE_CONTROL_CAPS_LOCK` |`CL_TOGG`|Toggle Caps Lock and Left Control swap | 448 |`QK_MAGIC_CAPS_LOCK_AS_CONTROL_ON` |`CL_CTRL`|Treat Caps Lock as Control | 449 |`QK_MAGIC_CAPS_LOCK_AS_CONTROL_OFF` |`CL_CAPS`|Stop treating Caps Lock as Control | 450 |`QK_MAGIC_SWAP_ESCAPE_CAPS_LOCK` |`EC_SWAP`|Swap Caps Lock and Escape | 451 |`QK_MAGIC_UNSWAP_ESCAPE_CAPS_LOCK` |`EC_NORM`|Unswap Caps Lock and Escape | 452 |`QK_MAGIC_TOGGLE_ESCAPE_CAPS_LOCK` |`EC_TOGG`|Toggle Caps Lock and Escape swap | 453 |`QK_MAGIC_SWAP_LCTL_LGUI` |`CG_LSWP`|Swap Left Control and GUI | 454 |`QK_MAGIC_UNSWAP_LCTL_LGUI` |`CG_LNRM`|Unswap Left Control and GUI | 455 |`QK_MAGIC_SWAP_RCTL_RGUI` |`CG_RSWP`|Swap Right Control and GUI | 456 |`QK_MAGIC_UNSWAP_RCTL_RGUI` |`CG_RNRM`|Unswap Right Control and GUI | 457 |`QK_MAGIC_SWAP_CTL_GUI` |`CG_SWAP`|Swap Control and GUI on both sides | 458 |`QK_MAGIC_UNSWAP_CTL_GUI` |`CG_NORM`|Unswap Control and GUI on both sides | 459 |`QK_MAGIC_TOGGLE_CTL_GUI` |`CG_TOGG`|Toggle Control and GUI swap on both sides | 460 |`QK_MAGIC_SWAP_LALT_LGUI` |`AG_LSWP`|Swap Left Alt and GUI | 461 |`QK_MAGIC_UNSWAP_LALT_LGUI` |`AG_LNRM`|Unswap Left Alt and GUI | 462 |`QK_MAGIC_SWAP_RALT_RGUI` |`AG_RSWP`|Swap Right Alt and GUI | 463 |`QK_MAGIC_UNSWAP_RALT_RGUI` |`AG_RNRM`|Unswap Right Alt and GUI | 464 |`QK_MAGIC_SWAP_ALT_GUI` |`AG_SWAP`|Swap Alt and GUI on both sides | 465 |`QK_MAGIC_UNSWAP_ALT_GUI` |`AG_NORM`|Unswap Alt and GUI on both sides | 466 |`QK_MAGIC_TOGGLE_ALT_GUI` |`AG_TOGG`|Toggle Alt and GUI swap on both sides | 467 |`QK_MAGIC_GUI_OFF` |`GU_OFF` |Disable the GUI keys | 468 |`QK_MAGIC_GUI_ON` |`GU_ON` |Enable the GUI keys | 469 |`QK_MAGIC_TOGGLE_GUI` |`GU_TOGG`|Toggles the status of the GUI keys | 470 |`QK_MAGIC_SWAP_GRAVE_ESC` |`GE_SWAP`|Swap <code>`</code> and Escape | 471 |`QK_MAGIC_UNSWAP_GRAVE_ESC` |`GE_NORM`|Unswap <code>`</code> and Escape | 472 |`QK_MAGIC_SWAP_BACKSLASH_BACKSPACE` |`BS_SWAP`|Swap `\` and Backspace | 473 |`QK_MAGIC_UNSWAP_BACKSLASH_BACKSPACE`|`BS_NORM`|Unswap `\` and Backspace | 474 |`QK_MAGIC_TOGGLE_BACKSLASH_BACKSPACE`|`BS_TOGG`|Toggle `\` and Backspace swap state | 475 |`QK_MAGIC_NKRO_ON` |`NK_ON` |Enable N-key rollover | 476 |`QK_MAGIC_NKRO_OFF` |`NK_OFF` |Disable N-key rollover | 477 |`QK_MAGIC_TOGGLE_NKRO` |`NK_TOGG`|Toggle N-key rollover | 478 |`QK_MAGIC_EE_HANDS_LEFT` |`EH_LEFT`|Set the master half of a split keyboard as the left hand (for `EE_HANDS`) | 479 |`QK_MAGIC_EE_HANDS_RIGHT` |`EH_RGHT`|Set the master half of a split keyboard as the right hand (for `EE_HANDS`)| 480 481 ## MIDI {#midi} 482 483 See also: [MIDI](features/midi) 484 485 |Key |Aliases |Description | 486 |-------------------------------|------------------|---------------------------------| 487 |`QK_MIDI_ON` |`MI_ON` |Turn MIDI on | 488 |`QK_MIDI_OFF` |`MI_OFF` |Turn MIDI off | 489 |`QK_MIDI_TOGGLE` |`MI_TOGG` |Toggle MIDI enabled | 490 |`QK_MIDI_NOTE_C_0` |`MI_C` |C octave 0 | 491 |`QK_MIDI_NOTE_C_SHARP_0` |`MI_Cs`, `MI_Db` |C♯/D♭ octave 0 | 492 |`QK_MIDI_NOTE_D_0` |`MI_D` |D octave 0 | 493 |`QK_MIDI_NOTE_D_SHARP_0` |`MI_Ds`, `MI_Eb` |D♯/E♭ octave 0 | 494 |`QK_MIDI_NOTE_E_0` |`MI_E` |E octave 0 | 495 |`QK_MIDI_NOTE_F_0` |`MI_F` |F octave 0 | 496 |`QK_MIDI_NOTE_F_SHARP_0` |`MI_Fs`, `MI_Gb` |F♯/G♭ octave 0 | 497 |`QK_MIDI_NOTE_G_0` |`MI_G` |G octave 0 | 498 |`QK_MIDI_NOTE_G_SHARP_0` |`MI_Gs`, `MI_Ab` |G♯/A♭ octave 0 | 499 |`QK_MIDI_NOTE_A_0` |`MI_A` |A octave 0 | 500 |`QK_MIDI_NOTE_A_SHARP_0` |`MI_As`, `MI_Bb` |A♯/B♭ octave 0 | 501 |`QK_MIDI_NOTE_B_0` |`MI_B` |B octave 0 | 502 |`QK_MIDI_NOTE_C_1` |`MI_C1` |C octave 1 | 503 |`QK_MIDI_NOTE_C_SHARP_1` |`MI_Cs1`, `MI_Db1`|C♯/D♭ octave 1 | 504 |`QK_MIDI_NOTE_D_1` |`MI_D1` |D octave 1 | 505 |`QK_MIDI_NOTE_D_SHARP_1` |`MI_Ds1`, `MI_Eb1`|D♯/E♭ octave 1 | 506 |`QK_MIDI_NOTE_E_1` |`MI_E1` |E octave 1 | 507 |`QK_MIDI_NOTE_F_1` |`MI_F1` |F octave 1 | 508 |`QK_MIDI_NOTE_F_SHARP_1` |`MI_Fs1`, `MI_Gb1`|F♯/G♭ octave 1 | 509 |`QK_MIDI_NOTE_G_1` |`MI_G1` |G octave 1 | 510 |`QK_MIDI_NOTE_G_SHARP_1` |`MI_Gs1`, `MI_Ab1`|G♯/A♭ octave 1 | 511 |`QK_MIDI_NOTE_A_1` |`MI_A1` |A octave 1 | 512 |`QK_MIDI_NOTE_A_SHARP_1` |`MI_As1`, `MI_Bb1`|A♯/B♭ octave 1 | 513 |`QK_MIDI_NOTE_B_1` |`MI_B1` |B octave 1 | 514 |`QK_MIDI_NOTE_C_2` |`MI_C2` |C octave 2 | 515 |`QK_MIDI_NOTE_C_SHARP_2` |`MI_Cs2`, `MI_Db2`|C♯/D♭ octave 2 | 516 |`QK_MIDI_NOTE_D_2` |`MI_D2` |D octave 2 | 517 |`QK_MIDI_NOTE_D_SHARP_2` |`MI_Ds2`, `MI_Eb2`|D♯/E♭ octave 2 | 518 |`QK_MIDI_NOTE_E_2` |`MI_E2` |E octave 2 | 519 |`QK_MIDI_NOTE_F_2` |`MI_F2` |F octave 2 | 520 |`QK_MIDI_NOTE_F_SHARP_2` |`MI_Fs2`, `MI_Gb2`|F♯/G♭ octave 2 | 521 |`QK_MIDI_NOTE_G_2` |`MI_G2` |G octave 2 | 522 |`QK_MIDI_NOTE_G_SHARP_2` |`MI_Gs2`, `MI_Ab2`|G♯/A♭ octave 2 | 523 |`QK_MIDI_NOTE_A_2` |`MI_A2` |A octave 2 | 524 |`QK_MIDI_NOTE_A_SHARP_2` |`MI_As2`, `MI_Bb2`|A♯/B♭ octave 2 | 525 |`QK_MIDI_NOTE_B_2` |`MI_B2` |B octave 2 | 526 |`QK_MIDI_NOTE_C_3` |`MI_C3` |C octave 3 | 527 |`QK_MIDI_NOTE_C_SHARP_3` |`MI_Cs3`, `MI_Db3`|C♯/D♭ octave 3 | 528 |`QK_MIDI_NOTE_D_3` |`MI_D3` |D octave 3 | 529 |`QK_MIDI_NOTE_D_SHARP_3` |`MI_Ds3`, `MI_Eb3`|D♯/E♭ octave 3 | 530 |`QK_MIDI_NOTE_E_3` |`MI_E3` |E octave 3 | 531 |`QK_MIDI_NOTE_F_3` |`MI_F3` |F octave 3 | 532 |`QK_MIDI_NOTE_F_SHARP_3` |`MI_Fs3`, `MI_Gb3`|F♯/G♭ octave 3 | 533 |`QK_MIDI_NOTE_G_3` |`MI_G3` |G octave 3 | 534 |`QK_MIDI_NOTE_G_SHARP_3` |`MI_Gs3`, `MI_Ab3`|G♯/A♭ octave 3 | 535 |`QK_MIDI_NOTE_A_3` |`MI_A3` |A octave 3 | 536 |`QK_MIDI_NOTE_A_SHARP_3` |`MI_As3`, `MI_Bb3`|A♯/B♭ octave 3 | 537 |`QK_MIDI_NOTE_B_3` |`MI_B3` |B octave 3 | 538 |`QK_MIDI_NOTE_C_4` |`MI_C4` |C octave 4 | 539 |`QK_MIDI_NOTE_C_SHARP_4` |`MI_Cs4`, `MI_Db4`|C♯/D♭ octave 4 | 540 |`QK_MIDI_NOTE_D_4` |`MI_D4` |D octave 4 | 541 |`QK_MIDI_NOTE_D_SHARP_4` |`MI_Ds4`, `MI_Eb4`|D♯/E♭ octave 4 | 542 |`QK_MIDI_NOTE_E_4` |`MI_E4` |E octave 4 | 543 |`QK_MIDI_NOTE_F_4` |`MI_F4` |F octave 4 | 544 |`QK_MIDI_NOTE_F_SHARP_4` |`MI_Fs4`, `MI_Gb4`|F♯/G♭ octave 4 | 545 |`QK_MIDI_NOTE_G_4` |`MI_G4` |G octave 4 | 546 |`QK_MIDI_NOTE_G_SHARP_4` |`MI_Gs4`, `MI_Ab4`|G♯/A♭ octave 4 | 547 |`QK_MIDI_NOTE_A_4` |`MI_A4` |A octave 4 | 548 |`QK_MIDI_NOTE_A_SHARP_4` |`MI_As4`, `MI_Bb4`|A♯/B♭ octave 4 | 549 |`QK_MIDI_NOTE_B_4` |`MI_B4` |B octave 4 | 550 |`QK_MIDI_NOTE_C_5` |`MI_C5` |C octave 5 | 551 |`QK_MIDI_NOTE_C_SHARP_5` |`MI_Cs5`, `MI_Db5`|C♯/D♭ octave 5 | 552 |`QK_MIDI_NOTE_D_5` |`MI_D5` |D octave 5 | 553 |`QK_MIDI_NOTE_D_SHARP_5` |`MI_Ds5`, `MI_Eb5`|D♯/E♭ octave 5 | 554 |`QK_MIDI_NOTE_E_5` |`MI_E5` |E octave 5 | 555 |`QK_MIDI_NOTE_F_5` |`MI_F5` |F octave 5 | 556 |`QK_MIDI_NOTE_F_SHARP_5` |`MI_Fs5`, `MI_Gb5`|F♯/G♭ octave 5 | 557 |`QK_MIDI_NOTE_G_5` |`MI_G5` |G octave 5 | 558 |`QK_MIDI_NOTE_G_SHARP_5` |`MI_Gs5`, `MI_Ab5`|G♯/A♭ octave 5 | 559 |`QK_MIDI_NOTE_A_5` |`MI_A5` |A octave 5 | 560 |`QK_MIDI_NOTE_A_SHARP_5` |`MI_As5`, `MI_Bb5`|A♯/B♭ octave 5 | 561 |`QK_MIDI_NOTE_B_5` |`MI_B5` |B octave 5 | 562 |`QK_MIDI_OCTAVE_N2` |`MI_OCN2` |Set octave to -2 | 563 |`QK_MIDI_OCTAVE_N1` |`MI_OCN1` |Set octave to -1 | 564 |`QK_MIDI_OCTAVE_0` |`MI_OC0` |Set octave to 0 | 565 |`QK_MIDI_OCTAVE_1` |`MI_OC1` |Set octave to 1 | 566 |`QK_MIDI_OCTAVE_2` |`MI_OC2` |Set octave to 2 | 567 |`QK_MIDI_OCTAVE_3` |`MI_OC3` |Set octave to 3 | 568 |`QK_MIDI_OCTAVE_4` |`MI_OC4` |Set octave to 4 | 569 |`QK_MIDI_OCTAVE_5` |`MI_OC5` |Set octave to 5 | 570 |`QK_MIDI_OCTAVE_6` |`MI_OC6` |Set octave to 6 | 571 |`QK_MIDI_OCTAVE_7` |`MI_OC7` |Set octave to 7 | 572 |`QK_MIDI_OCTAVE_DOWN` |`MI_OCTD` |Move down an octave | 573 |`QK_MIDI_OCTAVE_UP` |`MI_OCTU` |Move up an octave | 574 |`QK_MIDI_TRANSPOSE_N6` |`MI_TRN6` |Set transposition to -6 semitones| 575 |`QK_MIDI_TRANSPOSE_N5` |`MI_TRN5` |Set transposition to -5 semitones| 576 |`QK_MIDI_TRANSPOSE_N4` |`MI_TRN4` |Set transposition to -4 semitones| 577 |`QK_MIDI_TRANSPOSE_N3` |`MI_TRN3` |Set transposition to -3 semitones| 578 |`QK_MIDI_TRANSPOSE_N2` |`MI_TRN2` |Set transposition to -2 semitones| 579 |`QK_MIDI_TRANSPOSE_N1` |`MI_TRN1` |Set transposition to -1 semitone | 580 |`QK_MIDI_TRANSPOSE_0` |`MI_TR0` |No transposition | 581 |`QK_MIDI_TRANSPOSE_1` |`MI_TR1` |Set transposition to +1 semitone | 582 |`QK_MIDI_TRANSPOSE_2` |`MI_TR2` |Set transposition to +2 semitones| 583 |`QK_MIDI_TRANSPOSE_3` |`MI_TR3` |Set transposition to +3 semitones| 584 |`QK_MIDI_TRANSPOSE_4` |`MI_TR4` |Set transposition to +4 semitones| 585 |`QK_MIDI_TRANSPOSE_5` |`MI_TR5` |Set transposition to +5 semitones| 586 |`QK_MIDI_TRANSPOSE_6` |`MI_TR6` |Set transposition to +6 semitones| 587 |`QK_MIDI_TRANSPOSE_DOWN` |`MI_TRSD` |Decrease transposition | 588 |`QK_MIDI_TRANSPOSE_UP` |`MI_TRSU` |Increase transposition | 589 |`QK_MIDI_VELOCITY_0` |`MI_VL0` |Set velocity to 0 | 590 |`QK_MIDI_VELOCITY_1` |`MI_VL1` |Set velocity to 12 | 591 |`QK_MIDI_VELOCITY_2` |`MI_VL2` |Set velocity to 25 | 592 |`QK_MIDI_VELOCITY_3` |`MI_VL3` |Set velocity to 38 | 593 |`QK_MIDI_VELOCITY_4` |`MI_VL4` |Set velocity to 51 | 594 |`QK_MIDI_VELOCITY_5` |`MI_VL5` |Set velocity to 64 | 595 |`QK_MIDI_VELOCITY_6` |`MI_VL6` |Set velocity to 76 | 596 |`QK_MIDI_VELOCITY_7` |`MI_VL7` |Set velocity to 89 | 597 |`QK_MIDI_VELOCITY_8` |`MI_VL8` |Set velocity to 102 | 598 |`QK_MIDI_VELOCITY_9` |`MI_VL9` |Set velocity to 114 | 599 |`QK_MIDI_VELOCITY_10` |`MI_VL10` |Set velocity to 127 | 600 |`QK_MIDI_VELOCITY_DOWN` |`MI_VELD` |Decrease velocity | 601 |`QK_MIDI_VELOCITY_UP` |`MI_VELU` |Increase velocity | 602 |`QK_MIDI_CHANNEL_1` |`MI_CH1` |Set channel to 1 | 603 |`QK_MIDI_CHANNEL_2` |`MI_CH2` |Set channel to 2 | 604 |`QK_MIDI_CHANNEL_3` |`MI_CH3` |Set channel to 3 | 605 |`QK_MIDI_CHANNEL_4` |`MI_CH4` |Set channel to 4 | 606 |`QK_MIDI_CHANNEL_5` |`MI_CH5` |Set channel to 5 | 607 |`QK_MIDI_CHANNEL_6` |`MI_CH6` |Set channel to 6 | 608 |`QK_MIDI_CHANNEL_7` |`MI_CH7` |Set channel to 7 | 609 |`QK_MIDI_CHANNEL_8` |`MI_CH8` |Set channel to 8 | 610 |`QK_MIDI_CHANNEL_9` |`MI_CH9` |Set channel to 9 | 611 |`QK_MIDI_CHANNEL_10` |`MI_CH10` |Set channel to 10 | 612 |`QK_MIDI_CHANNEL_11` |`MI_CH11` |Set channel to 11 | 613 |`QK_MIDI_CHANNEL_12` |`MI_CH12` |Set channel to 12 | 614 |`QK_MIDI_CHANNEL_13` |`MI_CH13` |Set channel to 13 | 615 |`QK_MIDI_CHANNEL_14` |`MI_CH14` |Set channel to 14 | 616 |`QK_MIDI_CHANNEL_15` |`MI_CH15` |Set channel to 15 | 617 |`QK_MIDI_CHANNEL_16` |`MI_CH16` |Set channel to 16 | 618 |`QK_MIDI_CHANNEL_DOWN` |`MI_CHND` |Decrease channel | 619 |`QK_MIDI_CHANNEL_UP` |`MI_CHNU` |Increase channel | 620 |`QK_MIDI_ALL_NOTES_OFF` |`MI_AOFF` |Stop all notes | 621 |`QK_MIDI_SUSTAIN` |`MI_SUST` |Sustain | 622 |`QK_MIDI_PORTAMENTO` |`MI_PORT` |Portmento | 623 |`QK_MIDI_SOSTENUTO` |`MI_SOST` |Sostenuto | 624 |`QK_MIDI_SOFT` |`MI_SOFT` |Soft Pedal | 625 |`QK_MIDI_LEGATO` |`MI_LEG` |Legato | 626 |`QK_MIDI_MODULATION` |`MI_MOD` |Modulation | 627 |`QK_MIDI_MODULATION_SPEED_DOWN`|`MI_MODD` |Decrease modulation speed | 628 |`QK_MIDI_MODULATION_SPEED_UP` |`MI_MODU` |Increase modulation speed | 629 |`QK_MIDI_PITCH_BEND_DOWN` |`MI_BNDD` |Bend pitch down | 630 |`QK_MIDI_PITCH_BEND_UP` |`MI_BNDU` |Bend pitch up | 631 632 ## Mouse Keys {#mouse-keys} 633 634 See also: [Mouse Keys](features/mouse_keys) 635 636 |Key |Aliases |Description | 637 |-------------------------|---------|---------------------------| 638 |`QK_MOUSE_CURSOR_UP` |`MS_UP` |Mouse cursor up | 639 |`QK_MOUSE_CURSOR_DOWN` |`MS_DOWN`|Mouse cursor down | 640 |`QK_MOUSE_CURSOR_LEFT` |`MS_LEFT`|Mouse cursor left | 641 |`QK_MOUSE_CURSOR_RIGHT` |`MS_RGHT`|Mouse cursor right | 642 |`QK_MOUSE_BUTTON_1` |`MS_BTN1`|Mouse button 1 | 643 |`QK_MOUSE_BUTTON_2` |`MS_BTN2`|Mouse button 2 | 644 |`QK_MOUSE_BUTTON_3` |`MS_BTN3`|Mouse button 3 | 645 |`QK_MOUSE_BUTTON_4` |`MS_BTN4`|Mouse button 4 | 646 |`QK_MOUSE_BUTTON_5` |`MS_BTN5`|Mouse button 5 | 647 |`QK_MOUSE_BUTTON_6` |`MS_BTN6`|Mouse button 6 | 648 |`QK_MOUSE_BUTTON_7` |`MS_BTN7`|Mouse button 7 | 649 |`QK_MOUSE_BUTTON_8` |`MS_BTN8`|Mouse button 8 | 650 |`QK_MOUSE_WHEEL_UP` |`MS_WHLU`|Mouse wheel up | 651 |`QK_MOUSE_WHEEL_DOWN` |`MS_WHLD`|Mouse wheel down | 652 |`QK_MOUSE_WHEEL_LEFT` |`MS_WHLL`|Mouse wheel left | 653 |`QK_MOUSE_WHEEL_RIGHT` |`MS_WHLR`|Mouse wheel right | 654 |`QK_MOUSE_ACCELERATION_0`|`MS_ACL0`|Set mouse acceleration to 0| 655 |`QK_MOUSE_ACCELERATION_1`|`MS_ACL1`|Set mouse acceleration to 1| 656 |`QK_MOUSE_ACCELERATION_2`|`MS_ACL2`|Set mouse acceleration to 2| 657 658 ## Modifiers {#modifiers} 659 660 See also: [Modifier Keys](feature_advanced_keycodes#modifier-keys) 661 662 |Key |Aliases |Description | 663 |----------|-------------------------------|-------------------------------------------------------------------| 664 |`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` | 665 |`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` | 666 |`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` | 667 |`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` | 668 |`LCS(kc)` | |Hold Left Control and Left Shift and press `kc` | 669 |`LCA(kc)` | |Hold Left Control and Left Alt and press `kc` | 670 |`LCG(kc)` | |Hold Left Control and Left GUI and press `kc` | 671 |`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` | 672 |`LSG(kc)` | |Hold Left Shift and Left GUI and press `kc` | 673 |`LAG(kc)` | |Hold Left Alt and Left GUI and press `kc` | 674 |`LCSG(kc)`| |Hold Left Control, Left Shift and Left GUI and press `kc` | 675 |`LCAG(kc)`| |Hold Left Control, Left Alt and Left GUI and press `kc` | 676 |`LSAG(kc)`| |Hold Left Shift, Left Alt and Left GUI and press `kc` | 677 |`RCTL(kc)`| |Hold Right Control and press `kc` | 678 |`RSFT(kc)`| |Hold Right Shift and press `kc` | 679 |`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` | 680 |`RGUI(kc)`|`RCMD(kc)`, `RWIN(kc)` |Hold Right GUI and press `kc` | 681 |`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` | 682 |`RCA(kc)` | |Hold Right Control and Right Alt and press `kc` | 683 |`RCG(kc)` | |Hold Right Control and Right GUI and press `kc` | 684 |`RSA(kc)` | |Hold Right Shift and Right Alt and press `kc` | 685 |`RSG(kc)` | |Hold Right Shift and Right GUI and press `kc` | 686 |`RAG(kc)` | |Hold Right Alt and Right GUI and press `kc` | 687 |`RCSG(kc)`| |Hold Right Control, Right Shift and Right GUI and press `kc` | 688 |`RCAG(kc)`| |Hold Right Control, Right Alt and Right GUI and press `kc` | 689 |`RSAG(kc)`| |Hold Right Shift, Right Alt and Right GUI and press `kc` | 690 |`MEH(kc)` | |Hold Left Control, Left Shift and Left Alt and press `kc` | 691 |`HYPR(kc)`| |Hold Left Control, Left Shift, Left Alt and Left GUI and press `kc`| 692 |`KC_MEH` | |Left Control, Left Shift and Left Alt | 693 |`KC_HYPR` | |Left Control, Left Shift, Left Alt and Left GUI | 694 695 ## Mod-Tap Keys {#mod-tap-keys} 696 697 See also: [Mod-Tap](mod_tap) 698 699 |Key |Aliases |Description | 700 |-------------|-----------------------------------------------------------------|---------------------------------------------------------------------------| 701 |`MT(mod, kc)`| |`mod` when held, `kc` when tapped | 702 |`LCTL_T(kc)` |`CTL_T(kc)` |Left Control when held, `kc` when tapped | 703 |`LSFT_T(kc)` |`SFT_T(kc)` |Left Shift when held, `kc` when tapped | 704 |`LALT_T(kc)` |`ALT_T(kc)`, `LOPT_T(kc)`, `OPT_T(kc)` |Left Alt when held, `kc` when tapped | 705 |`LGUI_T(kc)` |`GUI_T(kc)`, `LCMD_T(kc)`, `LWIN_T(kc)`, `CMD_T(kc)`, `WIN_T(kc)`|Left GUI when held, `kc` when tapped | 706 |`LCS_T(kc)` | |Left Control and Left Shift when held, `kc` when tapped | 707 |`LCA_T(kc)` | |Left Control and Left Alt when held, `kc` when tapped | 708 |`LCG_T(kc)` | |Left Control and Left GUI when held, `kc` when tapped | 709 |`LSA_T(kc)` | |Left Shift and Left Alt when held, `kc` when tapped | 710 |`LSG_T(kc)` | |Left Shift and Left GUI when held, `kc` when tapped | 711 |`LAG_T(kc)` | |Left Alt and Left GUI when held, `kc` when tapped | 712 |`LCSG_T(kc)` | |Left Control, Left Shift and Left GUI when held, `kc` when tapped | 713 |`LCAG_T(kc)` | |Left Control, Left Alt and Left GUI when held, `kc` when tapped | 714 |`LSAG_T(kc)` | |Left Shift, Left Alt and Left GUI when held, `kc` when tapped | 715 |`RCTL_T(kc)` | |Right Control when held, `kc` when tapped | 716 |`RSFT_T(kc)` | |Right Shift when held, `kc` when tapped | 717 |`RALT_T(kc)` |`ROPT_T(kc)`, `ALGR_T(kc)` |Right Alt when held, `kc` when tapped | 718 |`RGUI_T(kc)` |`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped | 719 |`RCS_T(kc)` | |Right Control and Right Shift when held, `kc` when tapped | 720 |`RCA_T(kc)` | |Right Control and Right Alt when held, `kc` when tapped | 721 |`RCG_T(kc)` | |Right Control and Right GUI when held, `kc` when tapped | 722 |`RSA_T(kc)` | |Right Shift and Right Alt when held, `kc` when tapped | 723 |`RSG_T(kc)` | |Right Shift and Right GUI when held, `kc` when tapped | 724 |`RAG_T(kc)` | |Right Alt and Right GUI when held, `kc` when tapped | 725 |`RCSG_T(kc)` | |Right Control, Right Shift and Right GUI when held, `kc` when tapped | 726 |`RCAG_T(kc)` | |Right Control, Right Alt and Right GUI when held, `kc` when tapped | 727 |`RSAG_T(kc)` | |Right Shift, Right Alt and Right GUI when held, `kc` when tapped | 728 |`MEH_T(kc)` | |Left Control, Left Shift and Left Alt when held, `kc` when tapped | 729 |`HYPR_T(kc)` | |Left Control, Left Shift, Left Alt and Left GUI when held, `kc` when tapped| 730 731 ## Tapping Term Keys {#tapping-term-keys} 732 733 See also: [Dynamic Tapping Term](tap_hold#dynamic-tapping-term) 734 735 | Key | Aliases | Description | 736 |-------------------------------|---------|-------------------------------------------------------------------------------------------| 737 |`QK_DYNAMIC_TAPPING_TERM_PRINT`|`DT_PRNT`| Types the current tapping term, in milliseconds | 738 |`QK_DYNAMIC_TAPPING_TERM_UP` |`DT_UP` | Increases the current tapping term by `DYNAMIC_TAPPING_TERM_INCREMENT`ms (5ms by default) | 739 |`QK_DYNAMIC_TAPPING_TERM_DOWN` |`DT_DOWN`| Decreases the current tapping term by `DYNAMIC_TAPPING_TERM_INCREMENT`ms (5ms by default) | 740 741 ## RGB Lighting {#rgb-lighting} 742 743 See also: [RGB Lighting](features/rgblight) 744 745 |Key |Aliases |Description | 746 |------------------------------|----------|---------------------------------------------------------------------| 747 |`QK_UNDERGLOW_TOGGLE` |`UG_TOGG` |Toggle RGB lighting on or off | 748 |`QK_UNDERGLOW_MODE_NEXT` |`UG_NEXT` |Cycle through modes, reverse direction when Shift is held | 749 |`QK_UNDERGLOW_MODE_PREVIOUS` |`UG_PREV` |Cycle through modes in reverse, forward direction when Shift is held | 750 |`QK_UNDERGLOW_HUE_UP` |`UG_HUEU` |Increase hue, decrease hue when Shift is held | 751 |`QK_UNDERGLOW_HUE_DOWN` |`UG_HUED` |Decrease hue, increase hue when Shift is held | 752 |`QK_UNDERGLOW_SATURATION_UP` |`UG_SATU` |Increase saturation, decrease saturation when Shift is held | 753 |`QK_UNDERGLOW_SATURATION_DOWN`|`UG_SATD` |Decrease saturation, increase saturation when Shift is held | 754 |`QK_UNDERGLOW_VALUE_UP` |`UG_VALU` |Increase value (brightness), decrease value when Shift is held | 755 |`QK_UNDERGLOW_VALUE_DOWN` |`UG_VALD` |Decrease value (brightness), increase value when Shift is held | 756 |`QK_UNDERGLOW_SPEED_UP` |`UG_SPDU` |Increase effect speed (brightness), decrease speed when Shift is held| 757 |`QK_UNDERGLOW_SPEED_DOWN` |`UG_SPDD` |Decrease effect speed (brightness), increase speed when Shift is held| 758 |`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode (deprecated) | 759 |`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode (deprecated) | 760 |`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode (deprecated) | 761 |`RGB_MODE_SWIRL` |`RGB_M_SW`|Swirl animation mode (deprecated) | 762 |`RGB_MODE_SNAKE` |`RGB_M_SN`|Snake animation mode (deprecated) | 763 |`RGB_MODE_KNIGHT` |`RGB_M_K` |"Knight Rider" animation mode (deprecated) | 764 |`RGB_MODE_XMAS` |`RGB_M_X` |Christmas animation mode (deprecated) | 765 |`RGB_MODE_GRADIENT` |`RGB_M_G` |Static gradient animation mode (deprecated) | 766 |`RGB_MODE_RGBTEST` |`RGB_M_T` |Red, Green, Blue test animation mode (deprecated) | 767 |`RGB_MODE_TWINKLE` |`RGB_M_TW`|Twinkle animation mode (deprecated) | 768 769 ## RGB Matrix {#rgb-matrix} 770 771 See also: [RGB Matrix](features/rgb_matrix) 772 773 |Key |Aliases |Description | 774 |-------------------------------|---------|-----------------------------------| 775 |`QK_RGB_MATRIX_ON` |`RM_ON` |Turn on RGB Matrix | 776 |`QK_RGB_MATRIX_OFF` |`RM_OFF` |Turn off RGB Matrix | 777 |`QK_RGB_MATRIX_TOGGLE` |`RM_TOGG`|Toggle RGB Matrix on or off | 778 |`QK_RGB_MATRIX_MODE_NEXT` |`RM_NEXT`|Cycle through animations | 779 |`QK_RGB_MATRIX_MODE_PREVIOUS` |`RM_PREV`|Cycle through animations in reverse| 780 |`QK_RGB_MATRIX_HUE_UP` |`RM_HUEU`|Cycle through hue | 781 |`QK_RGB_MATRIX_HUE_DOWN` |`RM_HUED`|Cycle through hue in reverse | 782 |`QK_RGB_MATRIX_SATURATION_UP` |`RM_SATU`|Increase the saturation | 783 |`QK_RGB_MATRIX_SATURATION_DOWN`|`RM_SATD`|Decrease the saturation | 784 |`QK_RGB_MATRIX_VALUE_UP` |`RM_VALU`|Increase the brightness level | 785 |`QK_RGB_MATRIX_VALUE_DOWN` |`RM_VALD`|Decrease the brightness level | 786 |`QK_RGB_MATRIX_SPEED_UP` |`RM_SPDU`|Increase the animation speed | 787 |`QK_RGB_MATRIX_SPEED_DOWN` |`RM_SPDD`|Decrease the animation speed | 788 |`QK_RGB_MATRIX_FLAG_NEXT` |`RM_FLGN`|Cycle through flags | 789 |`QK_RGB_MATRIX_FLAG_PREVIOUS` |`RM_FLGP`|Cycle through flags in reverse | 790 791 ## US ANSI Shifted Symbols {#us-ansi-shifted-symbols} 792 793 See also: [US ANSI Shifted Symbols](keycodes_us_ansi_shifted) 794 795 |Key |Aliases |Description| 796 |------------------------|-------------------|-----------| 797 |`KC_TILDE` |`KC_TILD` |`~` | 798 |`KC_EXCLAIM` |`KC_EXLM` |`!` | 799 |`KC_AT` | |`@` | 800 |`KC_HASH` | |`#` | 801 |`KC_DOLLAR` |`KC_DLR` |`$` | 802 |`KC_PERCENT` |`KC_PERC` |`%` | 803 |`KC_CIRCUMFLEX` |`KC_CIRC` |`^` | 804 |`KC_AMPERSAND` |`KC_AMPR` |`&` | 805 |`KC_ASTERISK` |`KC_ASTR` |`*` | 806 |`KC_LEFT_PAREN` |`KC_LPRN` |`(` | 807 |`KC_RIGHT_PAREN` |`KC_RPRN` |`)` | 808 |`KC_UNDERSCORE` |`KC_UNDS` |`_` | 809 |`KC_PLUS` | |`+` | 810 |`KC_LEFT_CURLY_BRACE` |`KC_LCBR` |`{` | 811 |`KC_RIGHT_CURLY_BRACE` |`KC_RCBR` |`}` | 812 |`KC_PIPE` | |`\|` | 813 |`KC_COLON` |`KC_COLN` |`:` | 814 |`KC_DOUBLE_QUOTE` |`KC_DQUO`, `KC_DQT`|`"` | 815 |`KC_LEFT_ANGLE_BRACKET` |`KC_LABK`, `KC_LT` |`<` | 816 |`KC_RIGHT_ANGLE_BRACKET`|`KC_RABK`, `KC_GT` |`>` | 817 |`KC_QUESTION` |`KC_QUES` |`?` | 818 819 ## One Shot Keys {#one-shot-keys} 820 821 See also: [One Shot Keys](one_shot_keys) 822 823 |Key |Aliases |Description | 824 |--------------------|---------|---------------------------------------------------------------------| 825 |`QK_ONE_SHOT_TOGGLE`|`OS_TOGG`|Toggles One Shot keys status | 826 |`QK_ONE_SHOT_ON` |`OS_ON` |Turns One Shot keys on | 827 |`QK_ONE_SHOT_OFF` |`OS_OFF` |Turns One Shot keys off | 828 |`OSL(layer)` | |Switch to `layer` for one keypress | 829 |`OSM(mod)` | |Hold `mod` for one keypress | 830 |`OS_LCTL` | |Hold Left Control for one keypress | 831 |`OS_LSFT` | |Hold Left Shift for one keypress | 832 |`OS_LALT` | |Hold Left Alt for one keypress | 833 |`OS_LGUI` | |Hold Left GUI for one keypress | 834 |`OS_LCS` | |Hold Left Control and Left Shift for one keypress | 835 |`OS_LCA` | |Hold Left Control and left Alt for one keypress | 836 |`OS_LCG` | |Hold Left Control and Left GUI for one keypress | 837 |`OS_LSA` | |Hold Left Shift and Left Alt for one keypress | 838 |`OS_LSG` | |Hold Left Shift and Left GUI for one keypress | 839 |`OS_LAG` | |Hold Left Alt and Left GUI for one keypress | 840 |`OS_LCSG` | |Hold Left Control, Left Shift and Left GUI for one keypress | 841 |`OS_LCAG` | |Hold Left Control, Left Alt and Left GUI for one keypress | 842 |`OS_LSAG` | |Hold Left Shift, Left Alt and Left GUI for one keypress | 843 |`OS_RCTL` | |Hold Right Control for one keypress | 844 |`OS_RSFT` | |Hold Right Shift for one keypress | 845 |`OS_RALT` | |Hold Right Alt for one keypress | 846 |`OS_RGUI` | |Hold Right GUI for one keypress | 847 |`OS_RCS` | |Hold Right Control and Right Shift for one keypress | 848 |`OS_RCA` | |Hold Right Control and Right Alt for one keypress | 849 |`OS_RCG` | |Hold Right Control and Right GUI for one keypress | 850 |`OS_RSA` | |Hold Right Shift and Right Alt for one keypress | 851 |`OS_RSG` | |Hold Right Shift and Right GUI for one keypress | 852 |`OS_RAG` | |Hold Right Alt and Right GUI for one keypress | 853 |`OS_RCSG` | |Hold Right Control, Right Shift and Right GUI for one keypress | 854 |`OS_RCAG` | |Hold Right Control, Right Alt and Right GUI for one keypress | 855 |`OS_RSAG` | |Hold Right Shift, Right Alt and Right GUI for one keypress | 856 |`OS_MEH` | |Hold Left Control, Left Shift and Left Alt for one keypress | 857 |`OS_HYPR` | |Hold Left Control, Left Shift, Left Alt and Left GUI for one keypress| 858 859 ## Programmable Button Support {#programmable-button} 860 861 See also: [Programmable Button](features/programmable_button) 862 863 |Key |Aliases|Description | 864 |---------------------------|-------|----------------------| 865 |`QK_PROGRAMMABLE_BUTTON_1` |`PB_1` |Programmable button 1 | 866 |`QK_PROGRAMMABLE_BUTTON_2` |`PB_2` |Programmable button 2 | 867 |`QK_PROGRAMMABLE_BUTTON_3` |`PB_3` |Programmable button 3 | 868 |`QK_PROGRAMMABLE_BUTTON_4` |`PB_4` |Programmable button 4 | 869 |`QK_PROGRAMMABLE_BUTTON_5` |`PB_5` |Programmable button 5 | 870 |`QK_PROGRAMMABLE_BUTTON_6` |`PB_6` |Programmable button 6 | 871 |`QK_PROGRAMMABLE_BUTTON_7` |`PB_7` |Programmable button 7 | 872 |`QK_PROGRAMMABLE_BUTTON_8` |`PB_8` |Programmable button 8 | 873 |`QK_PROGRAMMABLE_BUTTON_9` |`PB_9` |Programmable button 9 | 874 |`QK_PROGRAMMABLE_BUTTON_10`|`PB_10`|Programmable button 10| 875 |`QK_PROGRAMMABLE_BUTTON_11`|`PB_11`|Programmable button 11| 876 |`QK_PROGRAMMABLE_BUTTON_12`|`PB_12`|Programmable button 12| 877 |`QK_PROGRAMMABLE_BUTTON_13`|`PB_13`|Programmable button 13| 878 |`QK_PROGRAMMABLE_BUTTON_14`|`PB_14`|Programmable button 14| 879 |`QK_PROGRAMMABLE_BUTTON_15`|`PB_15`|Programmable button 15| 880 |`QK_PROGRAMMABLE_BUTTON_16`|`PB_16`|Programmable button 16| 881 |`QK_PROGRAMMABLE_BUTTON_17`|`PB_17`|Programmable button 17| 882 |`QK_PROGRAMMABLE_BUTTON_18`|`PB_18`|Programmable button 18| 883 |`QK_PROGRAMMABLE_BUTTON_19`|`PB_19`|Programmable button 19| 884 |`QK_PROGRAMMABLE_BUTTON_20`|`PB_20`|Programmable button 20| 885 |`QK_PROGRAMMABLE_BUTTON_21`|`PB_21`|Programmable button 21| 886 |`QK_PROGRAMMABLE_BUTTON_22`|`PB_22`|Programmable button 22| 887 |`QK_PROGRAMMABLE_BUTTON_23`|`PB_23`|Programmable button 23| 888 |`QK_PROGRAMMABLE_BUTTON_24`|`PB_24`|Programmable button 24| 889 |`QK_PROGRAMMABLE_BUTTON_25`|`PB_25`|Programmable button 25| 890 |`QK_PROGRAMMABLE_BUTTON_26`|`PB_26`|Programmable button 26| 891 |`QK_PROGRAMMABLE_BUTTON_27`|`PB_27`|Programmable button 27| 892 |`QK_PROGRAMMABLE_BUTTON_28`|`PB_28`|Programmable button 28| 893 |`QK_PROGRAMMABLE_BUTTON_29`|`PB_29`|Programmable button 29| 894 |`QK_PROGRAMMABLE_BUTTON_30`|`PB_30`|Programmable button 30| 895 |`QK_PROGRAMMABLE_BUTTON_31`|`PB_31`|Programmable button 31| 896 |`QK_PROGRAMMABLE_BUTTON_32`|`PB_32`|Programmable button 32| 897 898 ## Repeat Key {#repeat-key} 899 900 See also: [Repeat Key](features/repeat_key) 901 902 |Keycode |Aliases |Description | 903 |-----------------------|---------|-------------------------------------| 904 |`QK_REPEAT_KEY` |`QK_REP` |Repeat the last pressed key | 905 |`QK_ALT_REPEAT_KEY` |`QK_AREP`|Perform alternate of the last key | 906 907 ## Space Cadet {#space-cadet} 908 909 See also: [Space Cadet](features/space_cadet) 910 911 |Key |Aliases |Description | 912 |----------------------------------------------|---------|----------------------------------------| 913 |`QK_SPACE_CADET_LEFT_CTRL_PARENTHESIS_OPEN` |`SC_LCPO`|Left Control when held, `(` when tapped | 914 |`QK_SPACE_CADET_RIGHT_CTRL_PARENTHESIS_CLOSE` |`SC_RCPC`|Right Control when held, `)` when tapped| 915 |`QK_SPACE_CADET_LEFT_SHIFT_PARENTHESIS_OPEN` |`SC_LSPO`|Left Shift when held, `(` when tapped | 916 |`QK_SPACE_CADET_RIGHT_SHIFT_PARENTHESIS_CLOSE`|`SC_RSPC`|Right Shift when held, `)` when tapped | 917 |`QK_SPACE_CADET_LEFT_ALT_PARENTHESIS_OPEN` |`SC_LAPO`|Left Alt when held, `(` when tapped | 918 |`QK_SPACE_CADET_RIGHT_ALT_PARENTHESIS_CLOSE` |`SC_RAPC`|Right Alt when held, `)` when tapped | 919 |`QK_SPACE_CADET_RIGHT_SHIFT_ENTER` |`SC_SENT`|Right Shift when held, Enter when tapped| 920 921 ## Swap Hands {#swap-hands} 922 923 See also: [Swap Hands](features/swap_hands) 924 925 |Key |Aliases |Description | 926 |-----------------------------|---------|----------------------------------------------------| 927 |`SH_T(kc)` | |Momentary swap when held, `kc` when tapped | 928 |`QK_SWAP_HANDS_ON` |`SH_ON` |Turn on hand swap | 929 |`QK_SWAP_HANDS_OFF` |`SH_OFF` |Turn off hand swap | 930 |`QK_SWAP_HANDS_MOMENTARY_ON` |`SH_MON` |Turn on hand swap while held | 931 |`QK_SWAP_HANDS_MOMENTARY_OFF`|`SH_MOFF`|Turn off hand swap while held | 932 |`QK_SWAP_HANDS_TOGGLE` |`SH_TOGG`|Toggle hand swap | 933 |`QK_SWAP_HANDS_TAP_TOGGLE` |`SH_TT` |Momentary swap when held, toggle when tapped | 934 |`QK_SWAP_HANDS_ONE_SHOT` |`SH_OS` |Turn on hand swap while held or until next key press| 935 936 ## Unicode Support {#unicode-support} 937 938 See also: [Unicode Support](features/unicode) 939 940 |Key |Aliases |Description | 941 |----------------------------|---------|----------------------------------------------------------------| 942 |`UC(c)` | |Send Unicode code point `c`, up to `0x7FFF` | 943 |`UM(i)` | |Send Unicode code point at index `i` in `unicode_map` | 944 |`UP(i, j)` | |Send Unicode code point at index `i`, or `j` if Shift/Caps is on| 945 |`QK_UNICODE_MODE_NEXT` |`UC_NEXT`|Cycle through selected input modes | 946 |`QK_UNICODE_MODE_PREVIOUS` |`UC_PREV`|Cycle through selected input modes in reverse | 947 |`QK_UNICODE_MODE_MACOS` |`UC_MAC` |Switch to macOS input | 948 |`QK_UNICODE_MODE_LINUX` |`UC_LINX`|Switch to Linux input | 949 |`QK_UNICODE_MODE_WINDOWS` |`UC_WIN` |Switch to Windows input | 950 |`QK_UNICODE_MODE_BSD` |`UC_BSD` |Switch to BSD input (not implemented) | 951 |`QK_UNICODE_MODE_WINCOMPOSE`|`UC_WINC`|Switch to Windows input using WinCompose | 952 |`QK_UNICODE_MODE_EMACS` |`UC_EMAC`|Switch to emacs (`C-x-8 RET`) |