aboutsummaryrefslogtreecommitdiff
path: root/docs/keycodes_basic.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/keycodes_basic.md')
-rw-r--r--docs/keycodes_basic.md382
1 files changed, 210 insertions, 172 deletions
diff --git a/docs/keycodes_basic.md b/docs/keycodes_basic.md
index 99cda6019..d4719ed4d 100644
--- a/docs/keycodes_basic.md
+++ b/docs/keycodes_basic.md
@@ -1,192 +1,230 @@
1# Basic Keycodes 1# Basic Keycodes
2 2
3Basic keycodes are based on [HID Usage Keyboard/Keypad Page(0x07)](http://www.usb.org/developers/hidpage/Hut1_12v2.pdf) with following exceptions: 3The basic set of keycodes are based on the [HID Keyboard/Keypad Usage Page (0x07)](http://www.usb.org/developers/hidpage/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* `KC_NO` = 0 for no action
6* `KC_TRNS` = 1 for layer transparency
7* internal special keycodes in the `0xA5-DF` range (tmk heritage).
8 4
9## Letters and Numbers 5## Letters and Numbers
10 6
11|KC_1|KC_2|KC_3|KC_4|KC_5|KC_6|KC_7|KC_8| 7|Key |Description|
12|----|----|----|----|----|----|----|----| 8|------|-----------|
13|KC_9|KC_0|KC_F1|KC_F2|KC_F3|KC_F4|KC_F5|KC_F6| 9|`KC_A`|`a` and `A`|
14|KC_F7|KC_F8|KC_F9|KC_F10|KC_F11|KC_F12|KC_F13|KC_F14| 10|`KC_B`|`b` and `B`|
15|KC_F15|KC_F16|KC_F17|KC_F18|KC_F19|KC_F20|KC_F21|KC_F22| 11|`KC_C`|`c` and `C`|
16|KC_F23|KC_F24|KC_A|KC_B|KC_C|KC_D|KC_E|KC_F| 12|`KC_D`|`d` and `D`|
17|KC_G|KC_H|KC_I|KC_J|KC_K|KC_L|KC_M|KC_N| 13|`KC_E`|`e` and `E`|
18|KC_O|KC_P|KC_Q|KC_R|KC_S|KC_T|KC_U|KC_V| 14|`KC_F`|`f` and `F`|
19|KC_W|KC_X|KC_Y|KC_Z||||| 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` | |
51|`KC_F2` | |
52|`KC_F3` | |
53|`KC_F4` | |
54|`KC_F5` | |
55|`KC_F6` | |
56|`KC_F7` | |
57|`KC_F8` | |
58|`KC_F9` | |
59|`KC_F10`| |
60|`KC_F11`| |
61|`KC_F12`| |
62|`KC_F13`| |
63|`KC_F14`| |
64|`KC_F15`| |
65|`KC_F16`| |
66|`KC_F17`| |
67|`KC_F18`| |
68|`KC_F19`| |
69|`KC_F20`| |
70|`KC_F21`| |
71|`KC_F22`| |
72|`KC_F23`| |
73|`KC_F24`| |
20 74
21## Punctuation 75## Punctuation
22 76
23|Long Name|Short Name|Description| 77|Key |Aliases |Description |
24|---------|----------|-----------| 78|-----------------|---------|----------------------------------|
25|KC_ENTER|KC_ENT|`Return (ENTER)`| 79|`KC_ENTER` |`KC_ENT` |Return (Enter) |
26|KC_ESCAPE|KC_ESC|`ESCAPE`| 80|`KC_ESCAPE` |`KC_ESC` |Escape |
27|KC_BSPACE|KC_BSPC|`DELETE (Backspace)`| 81|`KC_BSPACE` |`KC_BSPC`|Delete (Backspace) |
28|KC_TAB||`Tab`| 82|`KC_TAB` | |Tab |
29|KC_SPACE|KC_SPC|Spacebar| 83|`KC_SPACE` |`KC_SPC` |Spacebar |
30|KC_MINUS|KC_MINS|`-` and `_`| 84|`KC_MINUS` |`KC_MINS`|`-` and `_` |
31|KC_EQUAL|KC_EQL|`=` and `+`| 85|`KC_EQUAL` |`KC_EQL` |`=` and `+` |
32|KC_LBRACKET|KC_LBRC|`[` and `{`| 86|`KC_LBRACKET` |`KC_LBRC`|`[` and `{` |
33|KC_RBRACKET|KC_RBRC|`]` and `}`| 87|`KC_RBRACKET` |`KC_RBRC`|`]` and `}` |
34|KC_BSLASH|KC_BSLS|`\` and <code>&#124;</code> | 88|`KC_BSLASH` |`KC_BSLS`|`\` and <code>&#124;</code> |
35|KC_NONUS_HASH|KC_NUHS|Non-US `#` and `~`| 89|`KC_NONUS_HASH` |`KC_NUHS`|Non-US `#` and `~` |
36|KC_NONUS_BSLASH|KC_NUBS|Non-US `\` and <code>&#124;</code> | 90|`KC_NONUS_BSLASH`|`KC_NUBS`|Non-US `\` and <code>&#124;</code>|
37|KC_INT1|KC_RO|JIS `\` and <code>&#124;</code> | 91|`KC_INT1` |`KC_RO` |JIS `\` and <code>&#124;</code> |
38|KC_INT2|KC_KANA|International216| 92|`KC_INT2` |`KC_KANA`|JIS Katakana/Hiragana |
39|KC_INT3|KC_JYEN|Yen Symbol (`¥`)| 93|`KC_INT3` |`KC_JYEN`|JIS `¥` |
40|KC_SCOLON|KC_SCLN|`;` and `:`| 94|`KC_SCOLON` |`KC_SCLN`|`;` and `:` |
41|KC_QUOTE|KC_QUOT|`` and ``| 95|`KC_QUOTE` |`KC_QUOT`|`'` and `"` |
42|KC_GRAVE|KC_GRV|Grave Accent and Tilde| 96|`KC_GRAVE` |`KC_GRV` |<code>&#96;</code> and `~` |
43|KC_COMMA|KC_COMM|`,` and `<`| 97|`KC_COMMA` |`KC_COMM`|`,` and `<` |
44|KC_DOT||`.` and `>`| 98|`KC_DOT` | |`.` and `>` |
45|KC_SLASH|KC_SLSH|`/` and `?`| 99|`KC_SLASH` |`KC_SLSH`|`/` and `?` |
46|KC_CAPSLOCK|KC_CAPS|Caps Lock| 100|`KC_CAPSLOCK` |`KC_CAPS`|Caps Lock |
47 101
48## Modifiers 102## Modifiers
49 103
50|Long Name|Short Name|Description| 104|Key |Aliases |Description |
51|---------|----------|-----------| 105|-------------------|---------|------------------------------------|
52|KC_LCTRL|KC_LCTL|LeftControl| 106|`KC_LCTRL` |`KC_LCTL`|Left Control |
53|KC_LSHIFT|KC_LSFT|LeftShift| 107|`KC_LSHIFT` |`KC_LSFT`|Left Shift |
54|KC_LALT||LeftAlt| 108|`KC_LALT` | |Left Alt |
55|KC_LGUI||Left GUI(Windows/Apple/Meta key)| 109|`KC_LGUI` | |Left GUI (Windows/Command/Meta key) |
56|KC_RCTRL|KC_RCTL|RightControl| 110|`KC_RCTRL` |`KC_RCTL`|Right Control |
57|KC_RSHIFT|KC_RSFT|RightShift| 111|`KC_RSHIFT` |`KC_RSFT`|Right Shift |
58|KC_RALT||RightAlt| 112|`KC_RALT` | |Right Alt |
59|KC_RGUI||Right GUI(Windows/Apple/Meta key)| 113|`KC_RGUI` | |Right GUI (Windows/Command/Meta key)|
60|KC_LOCKING_CAPS|KC_LCAP|Locking Caps Lock| 114|`KC_LOCKING_CAPS` |`KC_LCAP`|Locking Caps Lock |
61|KC_LOCKING_NUM|KC_LNUM|Locking Num Lock| 115|`KC_LOCKING_NUM` |`KC_LNUM`|Locking Num Lock |
62|KC_LOCKING_SCROLL|KC_LSCR|Locking Scroll Lock| 116|`KC_LOCKING_SCROLL`|`KC_LSCR`|Locking Scroll Lock |
63|KC_INT4|KC_HENK|JIS Henken| 117|`KC_INT4` |`KC_HENK`|JIS Henkan |
64|KC_INT5|KC_MHEN|JIS Muhenken| 118|`KC_INT5` |`KC_MHEN`|JIS Muhenkan |
65 119
66## Commands 120## Commands
67 121
68|Long Name|Short Name|Description| 122|Key |Aliases |Description |
69|---------|----------|-----------| 123|------------------|---------|------------------------------|
70|KC_PSCREEN|KC_PSCR|PrintScreen| 124|`KC_PSCREEN` |`KC_PSCR`|Print Screen |
71|KC_SCROLLLOCK|KC_SLCK|Scroll Lock| 125|`KC_SCROLLLOCK` |`KC_SLCK`|Scroll Lock |
72|KC_PAUSE|KC_PAUS|Pause| 126|`KC_PAUSE` |`KC_PAUS`|Pause |
73|KC_INSERT|KC_INS|Insert| 127|`KC_INSERT` |`KC_INS` |Insert |
74|KC_HOME||Home| 128|`KC_HOME` | |Home |
75|KC_PGUP||PageUp| 129|`KC_PGUP` | |Page Up |
76|KC_DELETE|KC_DEL|Delete Forward| 130|`KC_DELETE` |`KC_DEL` |Forward Delete |
77|KC_END||End| 131|`KC_END` | |End |
78|KC_PGDOWN|KC_PGDN|PageDown| 132|`KC_PGDOWN` |`KC_PGDN`|Page Down |
79|KC_RIGHT|KC_RGHT|RightArrow| 133|`KC_RIGHT` |`KC_RGHT`|Right Arrow |
80|KC_LEFT||LeftArrow| 134|`KC_LEFT` | |Left Arrow |
81|KC_DOWN||DownArrow| 135|`KC_DOWN` | |Down Arrow |
82|KC_UP||UpArrow| 136|`KC_UP` | |Up Arrow |
83|KC_APPLICATION|KC_APP|Application| 137|`KC_APPLICATION` |`KC_APP` |Application (Windows Menu Key)|
84|KC_POWER||Power| 138|`KC_POWER` | |Power |
85|KC_EXECUTE||Execute| 139|`KC_EXECUTE` | |Execute |
86|KC_HELP||Help| 140|`KC_HELP` | |Help |
87|KC_MENU||Menu| 141|`KC_MENU` | |Menu |
88|KC_SELECT||Select| 142|`KC_SELECT` | |Select |
89|KC_AGAIN||Again| 143|`KC_AGAIN` | |Again |
90|KC_UNDO||Undo| 144|`KC_UNDO` | |Undo |
91|KC_CUT||Cut| 145|`KC_CUT` | |Cut |
92|KC_COPY||Copy| 146|`KC_COPY` | |Copy |
93|KC_PASTE||Paste| 147|`KC_PASTE` | |Paste |
94|KC_FIND||Find| 148|`KC_FIND` | |Find |
95|KC_ALT_ERASE||Alternate Erase| 149|`KC_ALT_ERASE` | |Alternate Erase |
96|KC_SYSREQ||SysReq/Attention| 150|`KC_SYSREQ` | |SysReq/Attention |
97|KC_CANCEL||Cancel| 151|`KC_CANCEL` | |Cancel |
98|KC_CLEAR||Clear| 152|`KC_CLEAR` | |Clear |
99|KC_PRIOR||Prior| 153|`KC_PRIOR` | |Prior |
100|KC_RETURN||Return| 154|`KC_RETURN` | |Return |
101|KC_SEPARATOR||Separator| 155|`KC_SEPARATOR` | |Separator |
102|KC_OUT||Out| 156|`KC_OUT` | |Out |
103|KC_OPER||Oper| 157|`KC_OPER` | |Oper |
104|KC_CLEAR_AGAIN||Clear/Again| 158|`KC_CLEAR_AGAIN` | |Clear/Again |
105|KC_CRSEL||CrSel/Props| 159|`KC_CRSEL` | |CrSel/Props |
106|KC_EXSEL||ExSel| 160|`KC_EXSEL` | |ExSel |
107|KC_SYSTEM_POWER|KC_PWR|System Power Down|
108|KC_SYSTEM_SLEEP|KC_SLEP|System Sleep|
109|KC_SYSTEM_WAKE|KC_WAKE|System Wake|
110|KC_MAIL|KC_MAIL||
111|KC_CALCULATOR|KC_CALC||
112|KC_MY_COMPUTER|KC_MYCM||
113|KC_WWW_SEARCH|KC_WSCH||
114|KC_WWW_HOME|KC_WHOM||
115|KC_WWW_BACK|KC_WBAK||
116|KC_WWW_FORWARD|KC_WFWD||
117|KC_WWW_STOP|KC_WSTP||
118|KC_WWW_REFRESH|KC_WREF||
119|KC_WWW_FAVORITES|KC_WFAV||
120 161
121## Media Keys 162## Media Keys
122 163
123Windows and Mac use different key codes for next track and previous track. Make sure you choose the keycode that corresponds to your OS. 164These 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.
124 165
125|Long Name|Short Name|Description| 166Windows and macOS use different keycodes for "next track" and "previous track". Make sure you choose the keycode that corresponds to your OS.
126|---------|----------|-----------| 167
127|KC_STOP||Stop| 168|Key |Aliases |Description |
128|KC__MUTE||Mute (macOS)| 169|-----------------------|---------|---------------------------------|
129|KC__VOLUP||Volume Up (macOS)| 170|`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down |
130|KC__VOLDOWN||Volume Down (macOS)| 171|`KC_SYSTEM_SLEEP` |`KC_SLEP`|System Sleep |
131|KC_AUDIO_MUTE|KC_MUTE|Mute (Windows/macOS/Linux)| 172|`KC_SYSTEM_WAKE` |`KC_WAKE`|System Wake |
132|KC_AUDIO_VOL_UP|KC_VOLU|Volume Up (Windows/macOS/Linux)| 173|`KC_MAIL` |`KC_MAIL`| |
133|KC_AUDIO_VOL_DOWN|KC_VOLD|Volume Down (Windows/macOS/Linux)| 174|`KC_CALCULATOR` |`KC_CALC`| |
134|KC_MEDIA_NEXT_TRACK|KC_MNXT|Next Track (Windows)| 175|`KC_MY_COMPUTER` |`KC_MYCM`| |
135|KC_MEDIA_PREV_TRACK|KC_MPRV|Previous Track (Windows)| 176|`KC_WWW_SEARCH` |`KC_WSCH`| |
136|KC_MEDIA_FAST_FORWARD|KC_MFFD|Next Track (macOS)| 177|`KC_WWW_HOME` |`KC_WHOM`| |
137|KC_MEDIA_REWIND|KC_MRWD|Previous Track (macOS)| 178|`KC_WWW_BACK` |`KC_WBAK`| |
138|KC_MEDIA_STOP|KC_MSTP|| 179|`KC_WWW_FORWARD` |`KC_WFWD`| |
139|KC_MEDIA_PLAY_PAUSE|KC_MPLY|| 180|`KC_WWW_STOP` |`KC_WSTP`| |
140|KC_MEDIA_SELECT|KC_MSEL|| 181|`KC_WWW_REFRESH` |`KC_WREF`| |
141 182|`KC_STOP` | |Stop |
142## Numpad 183|`KC_WWW_FAVORITES` |`KC_WFAV`| |
143 184|`KC__MUTE` | |Mute (macOS) |
144|Long Name|Short Name|Description| 185|`KC__VOLUP` | |Volume Up (macOS) |
145|---------|----------|-----------| 186|`KC__VOLDOWN` | |Volume Down (macOS) |
146|KC_NUMLOCK|KC_NLCK|Keypad Num Lock and Clear| 187|`KC_AUDIO_MUTE` |`KC_MUTE`|Mute (Windows/macOS/Linux) |
147|KC_KP_SLASH|KC_PSLS|Keypad /| 188|`KC_AUDIO_VOL_UP` |`KC_VOLU`|Volume Up (Windows/macOS/Linux) |
148|KC_KP_ASTERISK|KC_PAST|Keypad *| 189|`KC_AUDIO_VOL_DOWN` |`KC_VOLD`|Volume Down (Windows/macOS/Linux)|
149|KC_KP_MINUS|KC_PMNS|Keypad -| 190|`KC_MEDIA_NEXT_TRACK` |`KC_MNXT`|Next Track (Windows) |
150|KC_KP_PLUS|KC_PPLS|Keypad +| 191|`KC_MEDIA_PREV_TRACK` |`KC_MPRV`|Previous Track (Windows) |
151|KC_KP_ENTER|KC_PENT|Keypad ENTER| 192|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`|Next Track (macOS) |
152|KC_KP_1|KC_P1|Keypad 1 and End| 193|`KC_MEDIA_REWIND` |`KC_MRWD`|Previous Track (macOS) |
153|KC_KP_2|KC_P2|Keypad 2 and Down Arrow| 194|`KC_MEDIA_STOP` |`KC_MSTP`|Stop Track |
154|KC_KP_3|KC_P3|Keypad 3 and PageDn| 195|`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY`|Play/Pause Track |
155|KC_KP_4|KC_P4|Keypad 4 and Left Arrow| 196|`KC_MEDIA_SELECT` |`KC_MSEL`| |
156|KC_KP_5|KC_P5|Keypad 5| 197
157|KC_KP_6|KC_P6|Keypad 6 and Right Arrow| 198## Number Pad
158|KC_KP_7|KC_P7|Keypad 7 and Home| 199
159|KC_KP_8|KC_P8|Keypad 8 and Up Arrow| 200|Key |Aliases |Description |
160|KC_KP_9|KC_P9|Keypad 9 and PageUp| 201|-------------------|---------|------------------------------|
161|KC_KP_0|KC_P0|Keypad 0 and Insert| 202|`KC_NUMLOCK` |`KC_NLCK`|Keypad Num Lock and Clear |
162|KC_KP_DOT|KC_PDOT|Keypad . and Delete| 203|`KC_KP_SLASH` |`KC_PSLS`|Keypad `/` |
163|KC_KP_EQUAL|KC_PEQL|Keypad =| 204|`KC_KP_ASTERISK` |`KC_PAST`|Keypad `*` |
164|KC_KP_COMMA|KC_PCMM|Keypad Comma| 205|`KC_KP_MINUS` |`KC_PMNS`|Keypad `-` |
165|KC_KP_EQUAL_AS400||Keypad Equal Sign| 206|`KC_KP_PLUS` |`KC_PPLS`|Keypad `+` |
207|`KC_KP_ENTER` |`KC_PENT`|Keypad Enter |
208|`KC_KP_1` |`KC_P1` |Keypad `1` and End |
209|`KC_KP_2` |`KC_P2` |Keypad `2` and Down Arrow |
210|`KC_KP_3` |`KC_P3` |Keypad `3` and Page Down |
211|`KC_KP_4` |`KC_P4` |Keypad `4` and Left Arrow |
212|`KC_KP_5` |`KC_P5` |Keypad `5` |
213|`KC_KP_6` |`KC_P6` |Keypad `6` and Right Arrow |
214|`KC_KP_7` |`KC_P7` |Keypad `7` and Home |
215|`KC_KP_8` |`KC_P8` |Keypad `8` and Up Arrow |
216|`KC_KP_9` |`KC_P9` |Keypad `9` and Page Up |
217|`KC_KP_0` |`KC_P0` |Keypad `0` and Insert |
218|`KC_KP_DOT` |`KC_PDOT`|Keypad `.` and Delete |
219|`KC_KP_EQUAL` |`KC_PEQL`|Keypad `=` |
220|`KC_KP_COMMA` |`KC_PCMM`|Keypad `,` |
221|`KC_KP_EQUAL_AS400`| |Keypad `=` on AS/400 keyboards|
166 222
167## Special Keys 223## Special Keys
168 224
169|Long Name|Short Name|Description| 225In addition to these, keycodes in the range of `0xA5-DF` are reserved for internal use by TMK.
170|---------|----------|-----------| 226
171|KC_NO||Ignore this key. (NOOP) | 227|Key |Aliases |Description |
172 228|----------------|---------|---------------------------------------|
173## Mousekey 229|`KC_NO` | |Ignore this key (NOOP) |
174 230|`KC_TRANSPARENT`|`KC_TRNS`|Use the next lowest non-transparent key|
175|Long Name|Short Name|Description|
176|---------|----------|-----------|
177|KC_MS_UP|KC_MS_U|Mouse Cursor Up|
178|KC_MS_DOWN|KC_MS_D|Mouse Cursor Down|
179|KC_MS_LEFT|KC_MS_L|Mouse Cursor Left|
180|KC_MS_RIGHT|KC_MS_R|Mouse Cursor Right|
181|KC_MS_BTN1|KC_BTN1|Mouse Button 1|
182|KC_MS_BTN2|KC_BTN2|Mouse Button 2|
183|KC_MS_BTN3|KC_BTN3|Mouse Button 3|
184|KC_MS_BTN4|KC_BTN4|Mouse Button 4|
185|KC_MS_BTN5|KC_BTN5|Mouse Button 5|
186|KC_MS_WH_UP|KC_WH_U|Mouse Wheel Up|
187|KC_MS_WH_DOWN|KC_WH_D|Mouse Wheel Down|
188|KC_MS_WH_LEFT|KC_WH_L|Mouse Wheel Left|
189|KC_MS_WH_RIGHT|KC_WH_R|Mouse Wheel Right|
190|KC_MS_ACCEL0|KC_ACL0|Mouse Acceleration 0|
191|KC_MS_ACCEL1|KC_ACL1|Mouse Acceleration 1|
192|KC_MS_ACCEL2|KC_ACL2|Mouse Acceleration 2|