Commit | Line | Data |
---|---|---|
7b0356d1 | 1 | # Basic Keycodes |
d5244c6c | 2 | |
4c675a83 | 3 | The 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. |
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 | |--------|-----------| | |
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`| | | |
d5244c6c JH |
74 | |
75 | ## Punctuation | |
76 | ||
4c675a83 | 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 `}` | | |
88 | |`KC_BSLASH` |`KC_BSLS`|`\` and <code>|</code> | | |
89 | |`KC_NONUS_HASH` |`KC_NUHS`|Non-US `#` and `~` | | |
90 | |`KC_NONUS_BSLASH`|`KC_NUBS`|Non-US `\` and <code>|</code>| | |
91 | |`KC_INT1` |`KC_RO` |JIS `\` and <code>|</code> | | |
92 | |`KC_INT2` |`KC_KANA`|JIS Katakana/Hiragana | | |
93 | |`KC_INT3` |`KC_JYEN`|JIS `¥` | | |
94 | |`KC_SCOLON` |`KC_SCLN`|`;` and `:` | | |
95 | |`KC_QUOTE` |`KC_QUOT`|`'` and `"` | | |
96 | |`KC_GRAVE` |`KC_GRV` |<code>`</code> and `~` | | |
97 | |`KC_COMMA` |`KC_COMM`|`,` and `<` | | |
98 | |`KC_DOT` | |`.` and `>` | | |
99 | |`KC_SLASH` |`KC_SLSH`|`/` and `?` | | |
100 | |`KC_CAPSLOCK` |`KC_CAPS`|Caps Lock | | |
d5244c6c JH |
101 | |
102 | ## Modifiers | |
103 | ||
a2e12faa | 104 | |Key |Aliases |Description | |
105 | |-------------------|--------------------|------------------------------------| | |
106 | |`KC_LCTRL` |`KC_LCTL` |Left Control | | |
107 | |`KC_LSHIFT` |`KC_LSFT` |Left Shift | | |
108 | |`KC_LALT` | |Left Alt | | |
109 | |`KC_LGUI` |`KC_LCMD`, `KC_LWIN`|Left GUI (Windows/Command/Meta key) | | |
110 | |`KC_RCTRL` |`KC_RCTL` |Right Control | | |
111 | |`KC_RSHIFT` |`KC_RSFT` |Right Shift | | |
112 | |`KC_RALT` | |Right Alt | | |
113 | |`KC_RGUI` |`KC_RCMD`, `KC_RWIN`|Right GUI (Windows/Command/Meta key)| | |
114 | |`KC_LOCKING_CAPS` |`KC_LCAP` |Locking Caps Lock | | |
115 | |`KC_LOCKING_NUM` |`KC_LNUM` |Locking Num Lock | | |
116 | |`KC_LOCKING_SCROLL`|`KC_LSCR` |Locking Scroll Lock | | |
117 | |`KC_INT4` |`KC_HENK` |JIS Henkan | | |
118 | |`KC_INT5` |`KC_MHEN` |JIS Muhenkan | | |
d5244c6c JH |
119 | |
120 | ## Commands | |
121 | ||
4c675a83 | 122 | |Key |Aliases |Description | |
123 | |------------------|---------|------------------------------| | |
124 | |`KC_PSCREEN` |`KC_PSCR`|Print Screen | | |
125 | |`KC_SCROLLLOCK` |`KC_SLCK`|Scroll Lock | | |
126 | |`KC_PAUSE` |`KC_PAUS`|Pause | | |
127 | |`KC_INSERT` |`KC_INS` |Insert | | |
128 | |`KC_HOME` | |Home | | |
129 | |`KC_PGUP` | |Page Up | | |
130 | |`KC_DELETE` |`KC_DEL` |Forward Delete | | |
131 | |`KC_END` | |End | | |
132 | |`KC_PGDOWN` |`KC_PGDN`|Page Down | | |
133 | |`KC_RIGHT` |`KC_RGHT`|Right Arrow | | |
134 | |`KC_LEFT` | |Left Arrow | | |
135 | |`KC_DOWN` | |Down Arrow | | |
136 | |`KC_UP` | |Up Arrow | | |
137 | |`KC_APPLICATION` |`KC_APP` |Application (Windows Menu Key)| | |
138 | |`KC_POWER` | |Power | | |
139 | |`KC_EXECUTE` | |Execute | | |
140 | |`KC_HELP` | |Help | | |
141 | |`KC_MENU` | |Menu | | |
142 | |`KC_SELECT` | |Select | | |
143 | |`KC_AGAIN` | |Again | | |
144 | |`KC_UNDO` | |Undo | | |
145 | |`KC_CUT` | |Cut | | |
146 | |`KC_COPY` | |Copy | | |
147 | |`KC_PASTE` | |Paste | | |
148 | |`KC_FIND` | |Find | | |
149 | |`KC_ALT_ERASE` | |Alternate Erase | | |
150 | |`KC_SYSREQ` | |SysReq/Attention | | |
151 | |`KC_CANCEL` | |Cancel | | |
152 | |`KC_CLEAR` | |Clear | | |
153 | |`KC_PRIOR` | |Prior | | |
154 | |`KC_RETURN` | |Return | | |
155 | |`KC_SEPARATOR` | |Separator | | |
156 | |`KC_OUT` | |Out | | |
157 | |`KC_OPER` | |Oper | | |
158 | |`KC_CLEAR_AGAIN` | |Clear/Again | | |
159 | |`KC_CRSEL` | |CrSel/Props | | |
160 | |`KC_EXSEL` | |ExSel | | |
d5244c6c JH |
161 | |
162 | ## Media Keys | |
163 | ||
4c675a83 | 164 | 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. |
165 | ||
166 | Windows and macOS use different keycodes for "next track" and "previous track". Make sure you choose the keycode that corresponds to your OS. | |
167 | ||
168 | |Key |Aliases |Description | | |
169 | |-----------------------|---------|---------------------------------| | |
170 | |`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down | | |
171 | |`KC_SYSTEM_SLEEP` |`KC_SLEP`|System Sleep | | |
172 | |`KC_SYSTEM_WAKE` |`KC_WAKE`|System Wake | | |
173 | |`KC_MAIL` |`KC_MAIL`| | | |
174 | |`KC_CALCULATOR` |`KC_CALC`| | | |
175 | |`KC_MY_COMPUTER` |`KC_MYCM`| | | |
176 | |`KC_WWW_SEARCH` |`KC_WSCH`| | | |
177 | |`KC_WWW_HOME` |`KC_WHOM`| | | |
178 | |`KC_WWW_BACK` |`KC_WBAK`| | | |
179 | |`KC_WWW_FORWARD` |`KC_WFWD`| | | |
180 | |`KC_WWW_STOP` |`KC_WSTP`| | | |
181 | |`KC_WWW_REFRESH` |`KC_WREF`| | | |
182 | |`KC_STOP` | |Stop | | |
183 | |`KC_WWW_FAVORITES` |`KC_WFAV`| | | |
184 | |`KC__MUTE` | |Mute (macOS) | | |
185 | |`KC__VOLUP` | |Volume Up (macOS) | | |
186 | |`KC__VOLDOWN` | |Volume Down (macOS) | | |
187 | |`KC_AUDIO_MUTE` |`KC_MUTE`|Mute (Windows/macOS/Linux) | | |
188 | |`KC_AUDIO_VOL_UP` |`KC_VOLU`|Volume Up (Windows/macOS/Linux) | | |
189 | |`KC_AUDIO_VOL_DOWN` |`KC_VOLD`|Volume Down (Windows/macOS/Linux)| | |
190 | |`KC_MEDIA_NEXT_TRACK` |`KC_MNXT`|Next Track (Windows) | | |
191 | |`KC_MEDIA_PREV_TRACK` |`KC_MPRV`|Previous Track (Windows) | | |
192 | |`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`|Next Track (macOS) | | |
193 | |`KC_MEDIA_REWIND` |`KC_MRWD`|Previous Track (macOS) | | |
194 | |`KC_MEDIA_STOP` |`KC_MSTP`|Stop Track | | |
195 | |`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY`|Play/Pause Track | | |
196 | |`KC_MEDIA_SELECT` |`KC_MSEL`| | | |
197 | ||
198 | ## Number Pad | |
199 | ||
200 | |Key |Aliases |Description | | |
201 | |-------------------|---------|------------------------------| | |
202 | |`KC_NUMLOCK` |`KC_NLCK`|Keypad Num Lock and Clear | | |
203 | |`KC_KP_SLASH` |`KC_PSLS`|Keypad `/` | | |
204 | |`KC_KP_ASTERISK` |`KC_PAST`|Keypad `*` | | |
205 | |`KC_KP_MINUS` |`KC_PMNS`|Keypad `-` | | |
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| | |
d5244c6c JH |
222 | |
223 | ## Special Keys | |
224 | ||
4c675a83 | 225 | In addition to these, keycodes in the range of `0xA5-DF` are reserved for internal use by TMK. |
226 | ||
227 | |Key |Aliases |Description | | |
228 | |----------------|---------|---------------------------------------| | |
229 | |`KC_NO` | |Ignore this key (NOOP) | | |
230 | |`KC_TRANSPARENT`|`KC_TRNS`|Use the next lowest non-transparent key| |