keycodes_basic.md (13629B)
1 # Basic Keycodes 2 3 The basic set of keycodes are based on the [HID Keyboard/Keypad Usage Page (0x07)](https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf) with the exception of `KC_NO`, `KC_TRNS` and keycodes in the `0xA5-DF` range. See below for more details. 4 5 ## Letters and Numbers 6 7 |Key |Description| 8 |------|-----------| 9 |`KC_A`|`a` and `A`| 10 |`KC_B`|`b` and `B`| 11 |`KC_C`|`c` and `C`| 12 |`KC_D`|`d` and `D`| 13 |`KC_E`|`e` and `E`| 14 |`KC_F`|`f` and `F`| 15 |`KC_G`|`g` and `G`| 16 |`KC_H`|`h` and `H`| 17 |`KC_I`|`i` and `I`| 18 |`KC_J`|`j` and `J`| 19 |`KC_K`|`k` and `K`| 20 |`KC_L`|`l` and `L`| 21 |`KC_M`|`m` and `M`| 22 |`KC_N`|`n` and `N`| 23 |`KC_O`|`o` and `O`| 24 |`KC_P`|`p` and `P`| 25 |`KC_Q`|`q` and `Q`| 26 |`KC_R`|`r` and `R`| 27 |`KC_S`|`s` and `S`| 28 |`KC_T`|`t` and `T`| 29 |`KC_U`|`u` and `U`| 30 |`KC_V`|`v` and `V`| 31 |`KC_W`|`w` and `W`| 32 |`KC_X`|`x` and `X`| 33 |`KC_Y`|`y` and `Y`| 34 |`KC_Z`|`z` and `Z`| 35 |`KC_1`|`1` and `!`| 36 |`KC_2`|`2` and `@`| 37 |`KC_3`|`3` and `#`| 38 |`KC_4`|`4` and `$`| 39 |`KC_5`|`5` and `%`| 40 |`KC_6`|`6` and `^`| 41 |`KC_7`|`7` and `&`| 42 |`KC_8`|`8` and `*`| 43 |`KC_9`|`9` and `(`| 44 |`KC_0`|`0` and `)`| 45 46 ## F Keys 47 48 |Key |Description| 49 |--------|-----------| 50 |`KC_F1` |F1 | 51 |`KC_F2` |F2 | 52 |`KC_F3` |F3 | 53 |`KC_F4` |F4 | 54 |`KC_F5` |F5 | 55 |`KC_F6` |F6 | 56 |`KC_F7` |F7 | 57 |`KC_F8` |F8 | 58 |`KC_F9` |F9 | 59 |`KC_F10`|F10 | 60 |`KC_F11`|F11 | 61 |`KC_F12`|F12 | 62 |`KC_F13`|F13 | 63 |`KC_F14`|F14 | 64 |`KC_F15`|F15 | 65 |`KC_F16`|F16 | 66 |`KC_F17`|F17 | 67 |`KC_F18`|F18 | 68 |`KC_F19`|F19 | 69 |`KC_F20`|F20 | 70 |`KC_F21`|F21 | 71 |`KC_F22`|F22 | 72 |`KC_F23`|F23 | 73 |`KC_F24`|F24 | 74 75 ## Punctuation 76 77 |Key |Aliases |Description | 78 |--------------------|---------|--------------------------| 79 |`KC_ENTER` |`KC_ENT` |Return (Enter) | 80 |`KC_ESCAPE` |`KC_ESC` |Escape | 81 |`KC_BACKSPACE` |`KC_BSPC`|Delete (Backspace) | 82 |`KC_TAB` | |Tab | 83 |`KC_SPACE` |`KC_SPC` |Spacebar | 84 |`KC_MINUS` |`KC_MINS`|`-` and `_` | 85 |`KC_EQUAL` |`KC_EQL` |`=` and `+` | 86 |`KC_LEFT_BRACKET` |`KC_LBRC`|`[` and `{` | 87 |`KC_RIGHT_BRACKET` |`KC_RBRC`|`]` and `}` | 88 |`KC_BACKSLASH` |`KC_BSLS`|`\` and `\|` | 89 |`KC_NONUS_HASH` |`KC_NUHS`|Non-US `#` and `~` | 90 |`KC_SEMICOLON` |`KC_SCLN`|`;` and `:` | 91 |`KC_QUOTE` |`KC_QUOT`|`'` and `"` | 92 |`KC_GRAVE` |`KC_GRV` |<code>`</code> and `~`| 93 |`KC_COMMA` |`KC_COMM`|`,` and `<` | 94 |`KC_DOT` | |`.` and `>` | 95 |`KC_SLASH` |`KC_SLSH`|`/` and `?` | 96 |`KC_NONUS_BACKSLASH`|`KC_NUBS`|Non-US `\` and `\|` | 97 98 ## Lock Keys 99 100 |Key |Aliases |Description | 101 |------------------------|--------------------|------------------------------------| 102 |`KC_CAPS_LOCK` |`KC_CAPS` |Caps Lock | 103 |`KC_SCROLL_LOCK` |`KC_SCRL`, `KC_BRMD`|Scroll Lock, Brightness Down (macOS)| 104 |`KC_NUM_LOCK` |`KC_NUM` |Keypad Num Lock and Clear | 105 |`KC_LOCKING_CAPS_LOCK` |`KC_LCAP` |Locking Caps Lock | 106 |`KC_LOCKING_NUM_LOCK` |`KC_LNUM` |Locking Num Lock | 107 |`KC_LOCKING_SCROLL_LOCK`|`KC_LSCR` |Locking Scroll Lock | 108 109 ## Modifiers 110 111 |Key |Aliases |Description | 112 |----------------|-------------------------------|-------------------------------------| 113 |`KC_LEFT_CTRL` |`KC_LCTL` |Left Control | 114 |`KC_LEFT_SHIFT` |`KC_LSFT` |Left Shift | 115 |`KC_LEFT_ALT` |`KC_LALT`, `KC_LOPT` |Left Alt (Option) | 116 |`KC_LEFT_GUI` |`KC_LGUI`, `KC_LCMD`, `KC_LWIN`|Left GUI (Windows/Command/Super key) | 117 |`KC_RIGHT_CTRL` |`KC_RCTL` |Right Control | 118 |`KC_RIGHT_SHIFT`|`KC_RSFT` |Right Shift | 119 |`KC_RIGHT_ALT` |`KC_RALT`, `KC_ROPT`, `KC_ALGR`|Right Alt (Option/AltGr) | 120 |`KC_RIGHT_GUI` |`KC_RGUI`, `KC_RCMD`, `KC_RWIN`|Right GUI (Windows/Command/Super key)| 121 122 ## International 123 124 |Key |Aliases |Description | 125 |--------------------|---------|---------------------| 126 |`KC_INTERNATIONAL_1`|`KC_INT1`|JIS `\` and `_` | 127 |`KC_INTERNATIONAL_2`|`KC_INT2`|JIS Katakana/Hiragana| 128 |`KC_INTERNATIONAL_3`|`KC_INT3`|JIS `¥` and `\|` | 129 |`KC_INTERNATIONAL_4`|`KC_INT4`|JIS Henkan | 130 |`KC_INTERNATIONAL_5`|`KC_INT5`|JIS Muhenkan | 131 |`KC_INTERNATIONAL_6`|`KC_INT6`|JIS Numpad `,` | 132 |`KC_INTERNATIONAL_7`|`KC_INT7`|International 7 | 133 |`KC_INTERNATIONAL_8`|`KC_INT8`|International 8 | 134 |`KC_INTERNATIONAL_9`|`KC_INT9`|International 9 | 135 |`KC_LANGUAGE_1` |`KC_LNG1`|Hangul/English | 136 |`KC_LANGUAGE_2` |`KC_LNG2`|Hanja | 137 |`KC_LANGUAGE_3` |`KC_LNG3`|JIS Katakana | 138 |`KC_LANGUAGE_4` |`KC_LNG4`|JIS Hiragana | 139 |`KC_LANGUAGE_5` |`KC_LNG5`|JIS Zenkaku/Hankaku | 140 |`KC_LANGUAGE_6` |`KC_LNG6`|Language 6 | 141 |`KC_LANGUAGE_7` |`KC_LNG7`|Language 7 | 142 |`KC_LANGUAGE_8` |`KC_LNG8`|Language 8 | 143 |`KC_LANGUAGE_9` |`KC_LNG9`|Language 9 | 144 145 ## Commands 146 147 |Key |Aliases |Description | 148 |--------------------|------------------------------|--------------------------------------| 149 |`KC_PRINT_SCREEN` |`KC_PSCR` |Print Screen | 150 |`KC_PAUSE` |`KC_PAUS`, `KC_BRK`, `KC_BRMU`|Pause, Brightness Up (macOS) | 151 |`KC_INSERT` |`KC_INS` |Insert | 152 |`KC_HOME` | |Home | 153 |`KC_PAGE_UP` |`KC_PGUP` |Page Up | 154 |`KC_DELETE` |`KC_DEL` |Forward Delete | 155 |`KC_END` | |End | 156 |`KC_PAGE_DOWN` |`KC_PGDN` |Page Down | 157 |`KC_RIGHT` |`KC_RGHT` |Right Arrow | 158 |`KC_LEFT` | |Left Arrow | 159 |`KC_DOWN` | |Down Arrow | 160 |`KC_UP` | |Up Arrow | 161 |`KC_APPLICATION` |`KC_APP` |Application (Windows Context Menu Key)| 162 |`KC_KB_POWER` | |System Power | 163 |`KC_EXECUTE` |`KC_EXEC` |Execute | 164 |`KC_HELP` | |Help | 165 |`KC_MENU` | |Menu | 166 |`KC_SELECT` |`KC_SLCT` |Select | 167 |`KC_STOP` | |Stop | 168 |`KC_AGAIN` |`KC_AGIN` |Again | 169 |`KC_UNDO` | |Undo | 170 |`KC_CUT` | |Cut | 171 |`KC_COPY` | |Copy | 172 |`KC_PASTE` |`KC_PSTE` |Paste | 173 |`KC_FIND` | |Find | 174 |`KC_KB_MUTE` | |Mute | 175 |`KC_KB_VOLUME_UP` | |Volume Up | 176 |`KC_KB_VOLUME_DOWN` | |Volume Down | 177 |`KC_ALTERNATE_ERASE`|`KC_ERAS` |Alternate Erase | 178 |`KC_SYSTEM_REQUEST` |`KC_SYRQ` |SysReq/Attention | 179 |`KC_CANCEL` |`KC_CNCL` |Cancel | 180 |`KC_CLEAR` |`KC_CLR` |Clear | 181 |`KC_PRIOR` |`KC_PRIR` |Prior | 182 |`KC_RETURN` |`KC_RETN` |Return | 183 |`KC_SEPARATOR` |`KC_SEPR` |Separator | 184 |`KC_OUT` | |Out | 185 |`KC_OPER` | |Oper | 186 |`KC_CLEAR_AGAIN` |`KC_CLAG` |Clear/Again | 187 |`KC_CRSEL` |`KC_CRSL` |CrSel/Props | 188 |`KC_EXSEL` |`KC_EXSL` |ExSel | 189 190 ## Media Keys 191 192 These keycodes are not part of the Keyboard/Keypad usage page. The `SYSTEM_` keycodes are found in the Generic Desktop page, and the rest are located in the Consumer page. 193 194 ::: tip 195 Some of these keycodes may behave differently depending on the OS. For example, on macOS, the keycodes `KC_MEDIA_FAST_FORWARD`, `KC_MEDIA_REWIND`, `KC_MEDIA_NEXT_TRACK` and `KC_MEDIA_PREV_TRACK` skip within the current track when held, but skip the entire track when tapped. 196 ::: 197 198 |Key |Aliases |Description | 199 |-----------------------|---------|--------------------| 200 |`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down | 201 |`KC_SYSTEM_SLEEP` |`KC_SLEP`|System Sleep | 202 |`KC_SYSTEM_WAKE` |`KC_WAKE`|System Wake | 203 |`KC_AUDIO_MUTE` |`KC_MUTE`|Mute | 204 |`KC_AUDIO_VOL_UP` |`KC_VOLU`|Volume Up | 205 |`KC_AUDIO_VOL_DOWN` |`KC_VOLD`|Volume Down | 206 |`KC_MEDIA_NEXT_TRACK` |`KC_MNXT`|Next Track | 207 |`KC_MEDIA_PREV_TRACK` |`KC_MPRV`|Previous Track | 208 |`KC_MEDIA_STOP` |`KC_MSTP`|Stop Track | 209 |`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY`|Play/Pause Track | 210 |`KC_MEDIA_SELECT` |`KC_MSEL`|Launch Media Player | 211 |`KC_MEDIA_EJECT` |`KC_EJCT`|Eject | 212 |`KC_MAIL` | |Launch Mail | 213 |`KC_CALCULATOR` |`KC_CALC`|Launch Calculator | 214 |`KC_MY_COMPUTER` |`KC_MYCM`|Launch My Computer | 215 |`KC_WWW_SEARCH` |`KC_WSCH`|Browser Search | 216 |`KC_WWW_HOME` |`KC_WHOM`|Browser Home | 217 |`KC_WWW_BACK` |`KC_WBAK`|Browser Back | 218 |`KC_WWW_FORWARD` |`KC_WFWD`|Browser Forward | 219 |`KC_WWW_STOP` |`KC_WSTP`|Browser Stop | 220 |`KC_WWW_REFRESH` |`KC_WREF`|Browser Refresh | 221 |`KC_WWW_FAVORITES` |`KC_WFAV`|Browser Favorites | 222 |`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`|Fast Forward | 223 |`KC_MEDIA_REWIND` |`KC_MRWD`|Rewind | 224 |`KC_BRIGHTNESS_UP` |`KC_BRIU`|Brightness Up | 225 |`KC_BRIGHTNESS_DOWN` |`KC_BRID`|Brightness Down | 226 |`KC_CONTROL_PANEL` |`KC_CPNL`|Open Control Panel | 227 |`KC_ASSISTANT` |`KC_ASST`|Launch Assistant | 228 |`KC_MISSION_CONTROL` |`KC_MCTL`|Open Mission Control| 229 |`KC_LAUNCHPAD` |`KC_LPAD`|Open Launchpad | 230 231 ## Number Pad 232 233 |Key |Aliases |Description | 234 |-------------------|---------|------------------------------| 235 |`KC_KP_SLASH` |`KC_PSLS`|Keypad `/` | 236 |`KC_KP_ASTERISK` |`KC_PAST`|Keypad `*` | 237 |`KC_KP_MINUS` |`KC_PMNS`|Keypad `-` | 238 |`KC_KP_PLUS` |`KC_PPLS`|Keypad `+` | 239 |`KC_KP_ENTER` |`KC_PENT`|Keypad Enter | 240 |`KC_KP_1` |`KC_P1` |Keypad `1` and End | 241 |`KC_KP_2` |`KC_P2` |Keypad `2` and Down Arrow | 242 |`KC_KP_3` |`KC_P3` |Keypad `3` and Page Down | 243 |`KC_KP_4` |`KC_P4` |Keypad `4` and Left Arrow | 244 |`KC_KP_5` |`KC_P5` |Keypad `5` | 245 |`KC_KP_6` |`KC_P6` |Keypad `6` and Right Arrow | 246 |`KC_KP_7` |`KC_P7` |Keypad `7` and Home | 247 |`KC_KP_8` |`KC_P8` |Keypad `8` and Up Arrow | 248 |`KC_KP_9` |`KC_P9` |Keypad `9` and Page Up | 249 |`KC_KP_0` |`KC_P0` |Keypad `0` and Insert | 250 |`KC_KP_DOT` |`KC_PDOT`|Keypad `.` and Delete | 251 |`KC_KP_EQUAL` |`KC_PEQL`|Keypad `=` | 252 |`KC_KP_COMMA` |`KC_PCMM`|Keypad `,` | 253 |`KC_KP_EQUAL_AS400`| |Keypad `=` on AS/400 keyboards| 254 255 ## Special Keys 256 257 In addition to these, keycodes in the range of `0xA5-DF` are reserved for internal use. 258 259 |Key |Aliases |Description | 260 |----------------|--------------------|---------------------------------------| 261 |`KC_NO` |`XXXXXXX` |Ignore this key (NOOP) | 262 |`KC_TRANSPARENT`|`KC_TRNS`, `_______`|Use the next lowest non-transparent key|