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.
49 |--------|-----------|
77 |Key |Aliases |Description |
78 |-----------------|-------------------|-----------------------------------------------|
79 |`KC_ENTER` |`KC_ENT` |Return (Enter) |
80 |`KC_ESCAPE` |`KC_ESC` |Escape |
81 |`KC_BSPACE` |`KC_BSPC` |Delete (Backspace) |
83 |`KC_SPACE` |`KC_SPC` |Spacebar |
84 |`KC_MINUS` |`KC_MINS` |`-` and `_` |
85 |`KC_EQUAL` |`KC_EQL` |`=` and `+` |
86 |`KC_LBRACKET` |`KC_LBRC` |`[` and `{` |
87 |`KC_RBRACKET` |`KC_RBRC` |`]` and `}` |
88 |`KC_BSLASH` |`KC_BSLS` |`\` and `\|` |
89 |`KC_NONUS_HASH` |`KC_NUHS` |Non-US `#` and `~` |
90 |`KC_SCOLON` |`KC_SCLN` |`;` and `:` |
91 |`KC_QUOTE` |`KC_QUOT` |`'` and `"` |
92 |`KC_GRAVE` |`KC_GRV`, `KC_ZKHK`|<code>`</code> and `~`, JIS Zenkaku/Hankaku|
93 |`KC_COMMA` |`KC_COMM` |`,` and `<` |
94 |`KC_DOT` | |`.` and `>` |
95 |`KC_SLASH` |`KC_SLSH` |`/` and `?` |
96 |`KC_NONUS_BSLASH`|`KC_NUBS` |Non-US `\` and `\|` |
100 |Key |Aliases |Description |
101 |-------------------|--------------------|------------------------------------|
102 |`KC_CAPSLOCK` |`KC_CLCK`, `KC_CAPS`|Caps Lock |
103 |`KC_SCROLLLOCK` |`KC_SLCK`, `KC_BRMD`|Scroll Lock, Brightness Down (macOS)|
104 |`KC_NUMLOCK` |`KC_NLCK` |Keypad Num Lock and Clear |
105 |`KC_LOCKING_CAPS` |`KC_LCAP` |Locking Caps Lock |
106 |`KC_LOCKING_NUM` |`KC_LNUM` |Locking Num Lock |
107 |`KC_LOCKING_SCROLL`|`KC_LSCR` |Locking Scroll Lock |
111 |Key |Aliases |Description |
112 |-----------|--------------------|------------------------------------|
113 |`KC_LCTRL` |`KC_LCTL` |Left Control |
114 |`KC_LSHIFT`|`KC_LSFT` |Left Shift |
115 |`KC_LALT` | |Left Alt |
116 |`KC_LGUI` |`KC_LCMD`, `KC_LWIN`|Left GUI (Windows/Command/Meta key) |
117 |`KC_RCTRL` |`KC_RCTL` |Right Control |
118 |`KC_RSHIFT`|`KC_RSFT` |Right Shift |
119 |`KC_RALT` |`KC_ALGR` |Right Alt (AltGr) |
120 |`KC_RGUI` |`KC_RCMD`, `KC_RWIN`|Right GUI (Windows/Command/Meta key)|
124 |Key |Aliases |Description |
125 |----------|---------|---------------------|
126 |`KC_INT1` |`KC_RO` |JIS `\` and `_` |
127 |`KC_INT2` |`KC_KANA`|JIS Katakana/Hiragana|
128 |`KC_INT3` |`KC_JYEN`|JIS `¥` and `\|` |
129 |`KC_INT4` |`KC_HENK`|JIS Henkan |
130 |`KC_INT5` |`KC_MHEN`|JIS Muhenkan |
131 |`KC_INT6` | |JIS Numpad `,` |
132 |`KC_INT7` | |International 7 |
133 |`KC_INT8` | |International 8 |
134 |`KC_INT9` | |International 9 |
135 |`KC_LANG1`|`KC_HAEN`|Hangul/English |
136 |`KC_LANG2`|`KC_HANJ`|Hanja |
137 |`KC_LANG3`| |JIS Katakana |
138 |`KC_LANG4`| |JIS Hiragana |
139 |`KC_LANG5`| |JIS Zenkaku/Hankaku |
140 |`KC_LANG6`| |Language 6 |
141 |`KC_LANG7`| |Language 7 |
142 |`KC_LANG8`| |Language 8 |
143 |`KC_LANG9`| |Language 9 |
147 |Key |Aliases |Description |
148 |------------------|------------------------------|------------------------------|
149 |`KC_PSCREEN` |`KC_PSCR` |Print Screen |
150 |`KC_PAUSE` |`KC_PAUS`, `KC_BRK`, `KC_BRMU`|Pause, Brightness Up (macOS) |
151 |`KC_INSERT` |`KC_INS` |Insert |
153 |`KC_PGUP` | |Page Up |
154 |`KC_DELETE` |`KC_DEL` |Forward Delete |
156 |`KC_PGDOWN` |`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 Menu Key)|
162 |`KC_POWER` | |System Power (macOS/Linux) |
163 |`KC_EXECUTE` |`KC_EXEC` |Execute |
166 |`KC_SELECT` |`KC_SLCT` |Select |
168 |`KC_AGAIN` |`KC_AGIN` |Again |
172 |`KC_PASTE` |`KC_PSTE` |Paste |
174 |`KC__MUTE` | |Mute (macOS) |
175 |`KC__VOLUP` | |Volume Up (macOS) |
176 |`KC__VOLDOWN` | |Volume Down (macOS) |
177 |`KC_ALT_ERASE` |`KC_ERAS` |Alternate Erase |
178 |`KC_SYSREQ` | |SysReq/Attention |
179 |`KC_CANCEL` | |Cancel |
180 |`KC_CLEAR` |`KC_CLR` |Clear |
181 |`KC_PRIOR` | |Prior |
182 |`KC_RETURN` | |Return |
183 |`KC_SEPARATOR` | |Separator |
186 |`KC_CLEAR_AGAIN` | |Clear/Again |
187 |`KC_CRSEL` | |CrSel/Props |
188 |`KC_EXSEL` | |ExSel |
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.
194 ?> 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 |Key |Aliases |Description |
197 |-----------------------|---------|-----------------------------|
198 |`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down |
199 |`KC_SYSTEM_SLEEP` |`KC_SLEP`|System Sleep |
200 |`KC_SYSTEM_WAKE` |`KC_WAKE`|System Wake |
201 |`KC_AUDIO_MUTE` |`KC_MUTE`|Mute |
202 |`KC_AUDIO_VOL_UP` |`KC_VOLU`|Volume Up |
203 |`KC_AUDIO_VOL_DOWN` |`KC_VOLD`|Volume Down |
204 |`KC_MEDIA_NEXT_TRACK` |`KC_MNXT`|Next Track |
205 |`KC_MEDIA_PREV_TRACK` |`KC_MPRV`|Previous Track |
206 |`KC_MEDIA_STOP` |`KC_MSTP`|Stop Track (Windows) |
207 |`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY`|Play/Pause Track |
208 |`KC_MEDIA_SELECT` |`KC_MSEL`|Launch Media Player (Windows)|
209 |`KC_MEDIA_EJECT` |`KC_EJCT`|Eject (macOS) |
210 |`KC_MAIL` | |Launch Mail (Windows) |
211 |`KC_CALCULATOR` |`KC_CALC`|Launch Calculator (Windows) |
212 |`KC_MY_COMPUTER` |`KC_MYCM`|Launch My Computer (Windows) |
213 |`KC_WWW_SEARCH` |`KC_WSCH`|Browser Search (Windows) |
214 |`KC_WWW_HOME` |`KC_WHOM`|Browser Home (Windows) |
215 |`KC_WWW_BACK` |`KC_WBAK`|Browser Back (Windows) |
216 |`KC_WWW_FORWARD` |`KC_WFWD`|Browser Forward (Windows) |
217 |`KC_WWW_STOP` |`KC_WSTP`|Browser Stop (Windows) |
218 |`KC_WWW_REFRESH` |`KC_WREF`|Browser Refresh (Windows) |
219 |`KC_WWW_FAVORITES` |`KC_WFAV`|Browser Favorites (Windows) |
220 |`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`|Next Track (macOS) |
221 |`KC_MEDIA_REWIND` |`KC_MRWD`|Previous Track (macOS) |
222 |`KC_BRIGHTNESS_UP` |`KC_BRIU`|Brightness Up |
223 |`KC_BRIGHTNESS_DOWN` |`KC_BRID`|Brightness Down |
227 |Key |Aliases |Description |
228 |-------------------|---------|------------------------------|
229 |`KC_KP_SLASH` |`KC_PSLS`|Keypad `/` |
230 |`KC_KP_ASTERISK` |`KC_PAST`|Keypad `*` |
231 |`KC_KP_MINUS` |`KC_PMNS`|Keypad `-` |
232 |`KC_KP_PLUS` |`KC_PPLS`|Keypad `+` |
233 |`KC_KP_ENTER` |`KC_PENT`|Keypad Enter |
234 |`KC_KP_1` |`KC_P1` |Keypad `1` and End |
235 |`KC_KP_2` |`KC_P2` |Keypad `2` and Down Arrow |
236 |`KC_KP_3` |`KC_P3` |Keypad `3` and Page Down |
237 |`KC_KP_4` |`KC_P4` |Keypad `4` and Left Arrow |
238 |`KC_KP_5` |`KC_P5` |Keypad `5` |
239 |`KC_KP_6` |`KC_P6` |Keypad `6` and Right Arrow |
240 |`KC_KP_7` |`KC_P7` |Keypad `7` and Home |
241 |`KC_KP_8` |`KC_P8` |Keypad `8` and Up Arrow |
242 |`KC_KP_9` |`KC_P9` |Keypad `9` and Page Up |
243 |`KC_KP_0` |`KC_P0` |Keypad `0` and Insert |
244 |`KC_KP_DOT` |`KC_PDOT`|Keypad `.` and Delete |
245 |`KC_KP_EQUAL` |`KC_PEQL`|Keypad `=` |
246 |`KC_KP_COMMA` |`KC_PCMM`|Keypad `,` |
247 |`KC_KP_EQUAL_AS400`| |Keypad `=` on AS/400 keyboards|
251 In addition to these, keycodes in the range of `0xA5-DF` are reserved for internal use by TMK.
253 |Key |Aliases |Description |
254 |----------------|--------------------|---------------------------------------|
255 |`KC_NO` |`XXXXXXX` |Ignore this key (NOOP) |
256 |`KC_TRANSPARENT`|`KC_TRNS`, `_______`|Use the next lowest non-transparent key|