f77: Add jackhill's layout
[jackhill/qmk/firmware.git] / docs / keycodes_basic.md
CommitLineData
7b0356d1 1# Basic Keycodes
d5244c6c 2
dad79caf 3The 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.
9b879b12 4
d5244c6c
JH
5## Letters and Numbers
6
4c675a83 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|--------|-----------|
435a1202 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 |
d5244c6c
JH
74
75## Punctuation
76
435a1202 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) |
82|`KC_TAB` | |Tab |
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 `}` |
40de65ea 88|`KC_BSLASH` |`KC_BSLS` |`\` and `\|` |
435a1202 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>&#96;</code> and `~`, JIS Zenkaku/Hankaku|
93|`KC_COMMA` |`KC_COMM` |`,` and `<` |
94|`KC_DOT` | |`.` and `>` |
95|`KC_SLASH` |`KC_SLSH` |`/` and `?` |
40de65ea 96|`KC_NONUS_BSLASH`|`KC_NUBS` |Non-US `\` and `\|` |
435a1202 97
98## Lock Keys
99
ba05f966 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 |
d5244c6c
JH
108
109## Modifiers
110
435a1202 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 |
28fbf84c 119|`KC_RALT` |`KC_ALGR` |Right Alt (AltGr) |
435a1202 120|`KC_RGUI` |`KC_RCMD`, `KC_RWIN`|Right GUI (Windows/Command/Meta key)|
121
122## International
123
40de65ea 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 |
d5244c6c
JH
144
145## Commands
146
ba05f966 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 |
152|`KC_HOME` | |Home |
153|`KC_PGUP` | |Page Up |
154|`KC_DELETE` |`KC_DEL` |Forward Delete |
155|`KC_END` | |End |
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 |
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__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 |
184|`KC_OUT` | |Out |
185|`KC_OPER` | |Oper |
186|`KC_CLEAR_AGAIN` | |Clear/Again |
187|`KC_CRSEL` | |CrSel/Props |
188|`KC_EXSEL` | |ExSel |
d5244c6c
JH
189
190## Media Keys
191
4c675a83 192These 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
606813b7 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.
4c675a83 195
435a1202 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 |
606813b7
SP
204|`KC_MEDIA_NEXT_TRACK` |`KC_MNXT`|Next Track |
205|`KC_MEDIA_PREV_TRACK` |`KC_MPRV`|Previous Track |
435a1202 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) |
8b85ec2a
GR
222|`KC_BRIGHTNESS_UP` |`KC_BRIU`|Brightness Up |
223|`KC_BRIGHTNESS_DOWN` |`KC_BRID`|Brightness Down |
4c675a83 224
225## Number Pad
226
227|Key |Aliases |Description |
228|-------------------|---------|------------------------------|
4c675a83 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|
d5244c6c
JH
248
249## Special Keys
250
4c675a83 251In addition to these, keycodes in the range of `0xA5-DF` are reserved for internal use by TMK.
252
435a1202 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|