]> git.donarmstrong.com Git - qmk_firmware.git/blob - Keycodes.md
Updated Custom Quantum Functions (markdown)
[qmk_firmware.git] / Keycodes.md
1 # Overview
2
3 When defining a [keymap](https://github.com/qmk/qmk_firmware/blob/master/doc/keymap.md) each key needs a valid key definition.
4
5 This page documents the symbols that correspond to keycodes that are available to you in QMK.
6
7 To customize your board, they can be used by themselves or as **action codes** in combination with one of the [many C macros](https://github.com/qmk/qmk_firmware/wiki#c-macros-for-action-code).
8
9 The source of truth for these codes is [tmk_core/common/keycode.h](https://github.com/qmk/qmk_firmware/blob/master/tmk_core/common/keycode.h) file in the qmk source code.
10
11 # The Keycodes
12
13 Keycodes in QMK are based on [HID Usage Keyboard/Keypad Page(0x07)](http://www.usb.org/developers/hidpage/Hut1_12v2.pdf) with following exceptions:
14
15 * `KC_NO` = 0 for no action
16 * `KC_TRNS` = 1 for layer transparency
17 * internal special keycodes in the `0xA5-DF` range (tmk heritage).
18
19 ## Letters and Numbers
20
21 |KC_1|KC_2|KC_3|KC_4|KC_5|KC_6|KC_7|KC_8|
22 |----|----|----|----|----|----|----|----|
23 |KC_9|KC_0|KC_F1|KC_F2|KC_F3|KC_F4|KC_F5|KC_F6|
24 |KC_F7|KC_F8|KC_F9|KC_F10|KC_F11|KC_F12|KC_F13|KC_F14|
25 |KC_F15|KC_F16|KC_F17|KC_F18|KC_F19|KC_F20|KC_F21|KC_F22|
26 |KC_F23|KC_F24|KC_A|KC_B|KC_C|KC_D|KC_E|KC_F|
27 |KC_G|KC_H|KC_I|KC_J|KC_K|KC_L|KC_M|KC_N|
28 |KC_O|KC_P|KC_Q|KC_R|KC_S|KC_T|KC_U|KC_V|
29 |KC_W|KC_X|KC_Y|KC_Z|||||
30
31 ## Punctuation
32
33 |Long Name|Short Name|Description|
34 |---------|----------|-----------|
35 |KC_ENTER|KC_ENT|Return (ENTER)|
36 |KC_ESCAPE|KC_ESC|ESCAPE|
37 |KC_BSPACE|KC_BSPC|DELETE (Backspace)|
38 |KC_TAB||Tab|
39 |KC_SPACE|KC_SPC|Spacebar|
40 |KC_MINUS|KC_MINS|- and (underscore)|
41 |KC_EQUAL|KC_EQL|= and +|
42 |KC_LBRACKET|KC_LBRC|[ and {|
43 |KC_RBRACKET|KC_RBRC|] and }|
44 |KC_BSLASH|KC_BSLS|\\ and \||
45 |KC_NONUS_HASH|KC_NUHS|Non-US # and ~|
46 |KC_NONUS_BSLASH|KC_NUBS|Non-US \ and |
47 |KC_INT1|KC_RO|JIS \\ and \||
48 |KC_INT2|KC_KANA|International216|
49 |KC_INT3|KC_JYEN|Yen Symbol (¥)|
50 |KC_SCOLON|KC_SCLN|; and :|
51 |KC_QUOTE|KC_QUOT|‘ and “|
52 |KC_GRAVE|KC_GRV|Grave Accent and Tilde|
53 |KC_COMMA|KC_COMM|, and <|
54 |KC_DOT||. and >|
55 |KC_SLASH|KC_SLSH|/ and ?|
56 |KC_CAPSLOCK|KC_CAPS|Caps Lock|
57
58 ## Modifiers
59
60 |Long Name|Short Name|Description|
61 |---------|----------|-----------|
62 |KC_LCTRL|KC_LCTL|LeftControl|
63 |KC_LSHIFT|KC_LSFT|LeftShift|
64 |KC_LALT||LeftAlt|
65 |KC_LGUI||Left GUI(Windows/Apple/Meta key)|
66 |KC_RCTRL|KC_RCTL|RightControl|
67 |KC_RSHIFT|KC_RSFT|RightShift|
68 |KC_RALT||RightAlt|
69 |KC_RGUI||Right GUI(Windows/Apple/Meta key)|
70 |KC_LOCKING_CAPS||Locking Caps Lock12|
71 |KC_LOCKING_NUM||Locking Num Lock12|
72 |KC_LOCKING_SCROLL||Locking Scroll Lock12|
73 |KC_INT4|KC_HENK|JIS Henken|
74 |KC_INT5|KC_MHEN|JIS Muhenken|
75
76 ## Commands
77
78 |Long Name|Short Name|Description|
79 |---------|----------|-----------|
80 |KC_PSCREEN|KC_PSCR|PrintScreen1|
81 |KC_SCKLOCK|KC_SLCK|Scroll Lock11|
82 |KC_PAUSE|KC_PAUS|Pause1|
83 |KC_INSERT|KC_INS|Insert1|
84 |KC_HOME||Home1|
85 |KC_PGUP||PageUp1|
86 |KC_DELETE|KC_DEL|Delete Forward|
87 |KC_END||End1|
88 |KC_PGDOWN|KC_PGDN|PageDown1|
89 |KC_RIGHT|KC_RGHT|RightArrow1|
90 |KC_LEFT||LeftArrow1|
91 |KC_DOWN||DownArrow1|
92 |KC_UP||UpArrow1|
93 |KC_APPLICATION|KC_APP|Application10|
94 |KC_POWER||Power9|
95 |KC_EXECUTE||Execute|
96 |KC_HELP||Help|
97 |KC_MENU||Menu|
98 |KC_SELECT||Select|
99 |KC_STOP||Stop|
100 |KC_AGAIN||Again|
101 |KC_UNDO||Undo|
102 |KC_CUT||Cut|
103 |KC_COPY||Copy|
104 |KC_PASTE||Paste|
105 |KC_FIND||Find|
106 |KC__MUTE||Mute|
107 |KC__VOLUP||Volume Up|
108 |KC__VOLDOWN||Volume Down|
109 |KC_ALT_ERASE||Alternate Erase7|
110 |KC_SYSREQ||SysReq/Attention1|
111 |KC_CANCEL||Cancel|
112 |KC_CLEAR||Clear|
113 |KC_PRIOR||Prior|
114 |KC_RETURN||Return|
115 |KC_SEPARATOR||Separator|
116 |KC_OUT||Out|
117 |KC_OPER||Oper|
118 |KC_CLEAR_AGAIN||Clear/Again|
119 |KC_CRSEL||CrSel/Props|
120 |KC_EXSEL||ExSel|
121 |KC_SYSTEM_POWER|KC_PWR|System Power Down|
122 |KC_SYSTEM_SLEEP|KC_SLEP|System Sleep|
123 |KC_SYSTEM_WAKE|KC_WAKE|System Wake|
124 |KC_AUDIO_MUTE|KC_MUTE||
125 |KC_AUDIO_VOL_UP|KC_VOLU||
126 |KC_AUDIO_VOL_DOWN|KC_VOLD||
127 |KC_MEDIA_NEXT_TRACK|KC_MNXT||
128 |KC_MEDIA_PREV_TRACK|KC_MPRV||
129 |KC_MEDIA_FAST_FORWARD|KC_MFFD||
130 |KC_MEDIA_REWIND|KC_MRWD||
131 |KC_MEDIA_STOP|KC_MSTP||
132 |KC_MEDIA_PLAY_PAUSE|KC_MPLY||
133 |KC_MEDIA_SELECT|KC_MSEL||
134 |KC_MAIL|KC_MAIL||
135 |KC_CALCULATOR|KC_CALC||
136 |KC_MY_COMPUTER|KC_MYCM||
137 |KC_WWW_SEARCH|KC_WSCH||
138 |KC_WWW_HOME|KC_WHOM||
139 |KC_WWW_BACK|KC_WBAK||
140 |KC_WWW_FORWARD|KC_WFWD||
141 |KC_WWW_STOP|KC_WSTP||
142 |KC_WWW_REFRESH|KC_WREF||
143 |KC_WWW_FAVORITES|KC_WFAV||
144
145 ## Numpad
146
147 |Long Name|Short Name|Description|
148 |---------|----------|-----------|
149 |KC_NUMLOCK|KC_NLCK|Keypad Num Lock and Clear11|
150 |KC_KP_SLASH|KC_PSLS|Keypad /|
151 |KC_KP_ASTERISK|KC_PAST|Keypad *|
152 |KC_KP_MINUS|KC_PMNS|Keypad -|
153 |KC_KP_PLUS|KC_PPLS|Keypad +|
154 |KC_KP_ENTER|KC_PENT|Keypad ENTER5|
155 |KC_KP_1|KC_P1|Keypad 1 and End|
156 |KC_KP_2|KC_P2|Keypad 2 and Down Arrow|
157 |KC_KP_3|KC_P3|Keypad 3 and PageDn|
158 |KC_KP_4|KC_P4|Keypad 4 and Left Arrow|
159 |KC_KP_5|KC_P5|Keypad 5|
160 |KC_KP_6|KC_P6|Keypad 6 and Right Arrow|
161 |KC_KP_7|KC_P7|Keypad 7 and Home|
162 |KC_KP_8|KC_P8|Keypad 8 and Up Arrow|
163 |KC_KP_9|KC_P9|Keypad 9 and PageUp|
164 |KC_KP_0|KC_P0|Keypad 0 and Insert|
165 |KC_KP_DOT|KC_PDOT|Keypad . and Delete|
166 |KC_KP_EQUAL|KC_PEQL|Keypad =|
167 |KC_KP_COMMA|KC_PCMM|Keypad Comma27|
168 |KC_KP_EQUAL_AS400||Keypad Equal Sign29|
169
170 ## Special Keys
171
172 |Long Name|Short Name|Description|
173 |---------|----------|-----------|
174 |KC_NO||Ignore this key. (NOOP) |
175
176 ## Mousekey
177
178 |Long Name|Short Name|Description|
179 |---------|----------|-----------|
180 |KC_MS_UP|KC_MS_U|Mouse Cursor Up|
181 |KC_MS_DOWN|KC_MS_D|Mouse Cursor Down|
182 |KC_MS_LEFT|KC_MS_L|Mouse Cursor Left|
183 |KC_MS_RIGHT|KC_MS_R|Mouse Cursor Right|
184 |KC_MS_BTN1|KC_BTN1|Mouse Button 1|
185 |KC_MS_BTN2|KC_BTN2|Mouse Button 2|
186 |KC_MS_BTN3|KC_BTN3|Mouse Button 3|
187 |KC_MS_BTN4|KC_BTN4|Mouse Button 4|
188 |KC_MS_BTN5|KC_BTN5|Mouse Button 5|
189 |KC_MS_WH_UP|KC_WH_U|Mouse Wheel Up|
190 |KC_MS_WH_DOWN|KC_WH_D|Mouse Wheel Down|
191 |KC_MS_WH_LEFT|KC_WH_L|Mouse Wheel Left|
192 |KC_MS_WH_RIGHT|KC_WH_R|Mouse Wheel Right|
193 |KC_MS_ACCEL0|KC_ACL0|Mouse Acceleration 0|
194 |KC_MS_ACCEL1|KC_ACL1|Mouse Acceleration 1|
195 |KC_MS_ACCEL2|KC_ACL2|Mouse Acceleration 2|