]> git.donarmstrong.com Git - qmk_firmware.git/blob - docs/keycodes_basic.md
convert to unix line-endings [skip ci]
[qmk_firmware.git] / docs / keycodes_basic.md
1 # Basic keycodes
2
3 Basic keycodes are based on [HID Usage Keyboard/Keypad Page(0x07)](http://www.usb.org/developers/hidpage/Hut1_12v2.pdf) with following exceptions:
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
9 ## Letters and Numbers
10
11 |KC_1|KC_2|KC_3|KC_4|KC_5|KC_6|KC_7|KC_8|
12 |----|----|----|----|----|----|----|----|
13 |KC_9|KC_0|KC_F1|KC_F2|KC_F3|KC_F4|KC_F5|KC_F6|
14 |KC_F7|KC_F8|KC_F9|KC_F10|KC_F11|KC_F12|KC_F13|KC_F14|
15 |KC_F15|KC_F16|KC_F17|KC_F18|KC_F19|KC_F20|KC_F21|KC_F22|
16 |KC_F23|KC_F24|KC_A|KC_B|KC_C|KC_D|KC_E|KC_F|
17 |KC_G|KC_H|KC_I|KC_J|KC_K|KC_L|KC_M|KC_N|
18 |KC_O|KC_P|KC_Q|KC_R|KC_S|KC_T|KC_U|KC_V|
19 |KC_W|KC_X|KC_Y|KC_Z|||||
20
21 ## Punctuation
22
23 |Long Name|Short Name|Description|
24 |---------|----------|-----------|
25 |KC_ENTER|KC_ENT|`Return (ENTER)`|
26 |KC_ESCAPE|KC_ESC|`ESCAPE`|
27 |KC_BSPACE|KC_BSPC|`DELETE (Backspace)`|
28 |KC_TAB||`Tab`|
29 |KC_SPACE|KC_SPC|Spacebar|
30 |KC_MINUS|KC_MINS|`-` and `_`|
31 |KC_EQUAL|KC_EQL|`=` and `+`|
32 |KC_LBRACKET|KC_LBRC|`[` and `{`|
33 |KC_RBRACKET|KC_RBRC|`]` and `}`|
34 |KC_BSLASH|KC_BSLS|`\` and <code>&#124;</code> |
35 |KC_NONUS_HASH|KC_NUHS|Non-US `#` and `~`|
36 |KC_NONUS_BSLASH|KC_NUBS|Non-US `\` and <code>&#124;</code> |
37 |KC_INT1|KC_RO|JIS `\` and <code>&#124;</code> |
38 |KC_INT2|KC_KANA|International216|
39 |KC_INT3|KC_JYEN|Yen Symbol (`¥`)|
40 |KC_SCOLON|KC_SCLN|`;` and `:`|
41 |KC_QUOTE|KC_QUOT|`‘` and `“`|
42 |KC_GRAVE|KC_GRV|Grave Accent and Tilde|
43 |KC_COMMA|KC_COMM|`,` and `<`|
44 |KC_DOT||`.` and `>`|
45 |KC_SLASH|KC_SLSH|`/` and `?`|
46 |KC_CAPSLOCK|KC_CAPS|Caps Lock|
47
48 ## Modifiers
49
50 |Long Name|Short Name|Description|
51 |---------|----------|-----------|
52 |KC_LCTRL|KC_LCTL|LeftControl|
53 |KC_LSHIFT|KC_LSFT|LeftShift|
54 |KC_LALT||LeftAlt|
55 |KC_LGUI||Left GUI(Windows/Apple/Meta key)|
56 |KC_RCTRL|KC_RCTL|RightControl|
57 |KC_RSHIFT|KC_RSFT|RightShift|
58 |KC_RALT||RightAlt|
59 |KC_RGUI||Right GUI(Windows/Apple/Meta key)|
60 |KC_LOCKING_CAPS|KC_LCAP|Locking Caps Lock|
61 |KC_LOCKING_NUM|KC_LNUM|Locking Num Lock|
62 |KC_LOCKING_SCROLL|KC_LSCR|Locking Scroll Lock|
63 |KC_INT4|KC_HENK|JIS Henken|
64 |KC_INT5|KC_MHEN|JIS Muhenken|
65
66 ## Commands
67
68 |Long Name|Short Name|Description|
69 |---------|----------|-----------|
70 |KC_PSCREEN|KC_PSCR|PrintScreen|
71 |KC_SCROLLLOCK|KC_SLCK|Scroll Lock|
72 |KC_PAUSE|KC_PAUS|Pause|
73 |KC_INSERT|KC_INS|Insert|
74 |KC_HOME||Home|
75 |KC_PGUP||PageUp|
76 |KC_DELETE|KC_DEL|Delete Forward|
77 |KC_END||End|
78 |KC_PGDOWN|KC_PGDN|PageDown|
79 |KC_RIGHT|KC_RGHT|RightArrow|
80 |KC_LEFT||LeftArrow|
81 |KC_DOWN||DownArrow|
82 |KC_UP||UpArrow|
83 |KC_APPLICATION|KC_APP|Application|
84 |KC_POWER||Power|
85 |KC_EXECUTE||Execute|
86 |KC_HELP||Help|
87 |KC_MENU||Menu|
88 |KC_SELECT||Select|
89 |KC_AGAIN||Again|
90 |KC_UNDO||Undo|
91 |KC_CUT||Cut|
92 |KC_COPY||Copy|
93 |KC_PASTE||Paste|
94 |KC_FIND||Find|
95 |KC_ALT_ERASE||Alternate Erase|
96 |KC_SYSREQ||SysReq/Attention|
97 |KC_CANCEL||Cancel|
98 |KC_CLEAR||Clear|
99 |KC_PRIOR||Prior|
100 |KC_RETURN||Return|
101 |KC_SEPARATOR||Separator|
102 |KC_OUT||Out|
103 |KC_OPER||Oper|
104 |KC_CLEAR_AGAIN||Clear/Again|
105 |KC_CRSEL||CrSel/Props|
106 |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
121 ## Media Keys
122
123 Windows and Mac use different key codes for next track and previous track. Make sure you choose the keycode that corresponds to your OS.
124
125 |Long Name|Short Name|Description|
126 |---------|----------|-----------|
127 |KC_STOP||Stop|
128 |KC__MUTE||Mute (macOS)|
129 |KC__VOLUP||Volume Up (macOS)|
130 |KC__VOLDOWN||Volume Down (macOS)|
131 |KC_AUDIO_MUTE|KC_MUTE|Mute (Windows/macOS/Linux)|
132 |KC_AUDIO_VOL_UP|KC_VOLU|Volume Up (Windows/macOS/Linux)|
133 |KC_AUDIO_VOL_DOWN|KC_VOLD|Volume Down (Windows/macOS/Linux)|
134 |KC_MEDIA_NEXT_TRACK|KC_MNXT|Next Track (Windows)|
135 |KC_MEDIA_PREV_TRACK|KC_MPRV|Previous Track (Windows)|
136 |KC_MEDIA_FAST_FORWARD|KC_MFFD|Next Track (macOS)|
137 |KC_MEDIA_REWIND|KC_MRWD|Previous Track (macOS)|
138 |KC_MEDIA_STOP|KC_MSTP||
139 |KC_MEDIA_PLAY_PAUSE|KC_MPLY||
140 |KC_MEDIA_SELECT|KC_MSEL||
141
142 ## Numpad
143
144 |Long Name|Short Name|Description|
145 |---------|----------|-----------|
146 |KC_NUMLOCK|KC_NLCK|Keypad Num Lock and Clear|
147 |KC_KP_SLASH|KC_PSLS|Keypad /|
148 |KC_KP_ASTERISK|KC_PAST|Keypad *|
149 |KC_KP_MINUS|KC_PMNS|Keypad -|
150 |KC_KP_PLUS|KC_PPLS|Keypad +|
151 |KC_KP_ENTER|KC_PENT|Keypad ENTER|
152 |KC_KP_1|KC_P1|Keypad 1 and End|
153 |KC_KP_2|KC_P2|Keypad 2 and Down Arrow|
154 |KC_KP_3|KC_P3|Keypad 3 and PageDn|
155 |KC_KP_4|KC_P4|Keypad 4 and Left Arrow|
156 |KC_KP_5|KC_P5|Keypad 5|
157 |KC_KP_6|KC_P6|Keypad 6 and Right Arrow|
158 |KC_KP_7|KC_P7|Keypad 7 and Home|
159 |KC_KP_8|KC_P8|Keypad 8 and Up Arrow|
160 |KC_KP_9|KC_P9|Keypad 9 and PageUp|
161 |KC_KP_0|KC_P0|Keypad 0 and Insert|
162 |KC_KP_DOT|KC_PDOT|Keypad . and Delete|
163 |KC_KP_EQUAL|KC_PEQL|Keypad =|
164 |KC_KP_COMMA|KC_PCMM|Keypad Comma|
165 |KC_KP_EQUAL_AS400||Keypad Equal Sign|
166
167 ## Special Keys
168
169 |Long Name|Short Name|Description|
170 |---------|----------|-----------|
171 |KC_NO||Ignore this key. (NOOP) |
172
173 ## Mousekey
174
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|