summaryrefslogtreecommitdiffstats
path: root/docs/keycode.txt
blob: b2070f7117d67f71582067823a914f290d7470b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
Keycode Symbol Table
====================
Keycodes are defined in `common/keycode.h`.
Range of 00-A4 and E0-E7 are identical with HID Usage:
<http://www.usb.org/developers/hidpage/Hut1_12v2.pdf>
Virtual keycodes are defined out of above range to support special actions.


Keycode Symbol      Short name      Description
--------------------------------------------------------------------------------
KC_NO                               00 Reserved (no event indicated)
KC_ROLL_OVER                        01 Keyboard ErrorRollOver
KC_POST_FAIL                        02 Keyboard POSTFail
KC_UNDEFINED                        03 Keyboard ErrorUndefined
KC_A                                04 Keyboard a and A
KC_B                                05 Keyboard b and B
KC_C                                06 Keyboard c and C
KC_D                                07 Keyboard d and D
KC_E                                08 Keyboard e and E
KC_F                                09 Keyboard f and F
KC_G                                0A Keyboard g and G
KC_H                                0B Keyboard h and H
KC_I                                0C Keyboard i and I
KC_J                                0D Keyboard j and J
KC_K                                0E Keyboard k and K
KC_L                                0F Keyboard l and L
KC_M                                10 Keyboard m and M
KC_N                                11 Keyboard n and N
KC_O                                12 Keyboard o and O
KC_P                                13 Keyboard p and P
KC_Q                                14 Keyboard q and Q
KC_R                                15 Keyboard r and R
KC_S                                16 Keyboard s and S
KC_T                                17 Keyboard t and T
KC_U                                18 Keyboard u and U
KC_V                                19 Keyboard v and V
KC_W                                1A Keyboard w and W
KC_X                                1B Keyboard x and X
KC_Y                                1C Keyboard y and Y
KC_Z                                1D Keyboard z and Z
KC_1                                1E Keyboard 1 and !
KC_2                                1F Keyboard 2 and @
KC_3                                20 Keyboard 3 and #
KC_4                                21 Keyboard 4 and $
KC_5                                22 Keyboard 5 and %
KC_6                                23 Keyboard 6 and ^
KC_7                                24 Keyboard 7 and &
KC_8                                25 Keyboard 8 and *
KC_9                                26 Keyboard 9 and (
KC_0                                27 Keyboard 0 and )
KC_ENTER            KC_ENT          28 Keyboard Return (ENTER)
KC_ESCAPE           KC_ESC          29 Keyboard ESCAPE
KC_BSPACE           KC_BSPC         2A Keyboard DELETE (Backspace)
KC_TAB                              2B Keyboard Tab
KC_SPACE            KC_SPC          2C Keyboard Spacebar
KC_MINUS            KC_MINS         2D Keyboard - and (underscore)
KC_EQUAL            KC_EQL          2E Keyboard = and +
KC_LBRACKET         KC_LBRC         2F Keyboard [ and {
KC_RBRACKET         KC_RBRC         30 Keyboard ] and }
KC_BSLASH           KC_BSLS         31 Keyboard \ and |
KC_NONUS_HASH       KC_NUHS         32 Keyboard Non-US # and ~
KC_SCOLON           KC_SCLN         33 Keyboard ; and :
KC_QUOTE            KC_QUOT         34 Keyboard ‘ and “
KC_GRAVE            KC_GRV          35 Keyboard Grave Accent and Tilde
KC_COMMA            KC_COMM         36 Keyboard , and <
KC_DOT                              37 Keyboard . and >
KC_SLASH            KC_SLSH         38 Keyboard / and ?
KC_CAPSLOCK         KC_CAPS         39 Keyboard Caps Lock
KC_F1                               3A Keyboard F1
KC_F2                               3B Keyboard F2
KC_F3                               3C Keyboard F3
KC_F4                               3D Keyboard F4
KC_F5                               3E Keyboard F5
KC_F6                               3F Keyboard F6
KC_F7                               40 Keyboard F7
KC_F8                               41 Keyboard F8
KC_F9                               42 Keyboard F9
KC_F10                              43 Keyboard F10
KC_F11                              44 Keyboard F11
KC_F12                              45 Keyboard F12
KC_PSCREEN          KC_PSCR         46 Keyboard PrintScreen
KC_SCROLLLOCK       KC_SLCK         47 Keyboard Scroll Lock
KC_PAUSE            KC_PAUS         48 Keyboard Pause
KC_INSERT           KC_INS          49 Keyboard Insert
KC_HOME                             4A Keyboard Home
KC_PGUP                             4B Keyboard PageUp
KC_DELETE           KC_DEL          4C Keyboard Delete Forward
KC_END                              4D Keyboard End
KC_PGDOWN           KC_PGDN         4E Keyboard PageDown
KC_RIGHT            KC_RGHT         4F Keyboard RightArrow
KC_LEFT                             50 Keyboard LeftArrow
KC_DOWN                             51 Keyboard DownArrow
KC_UP                               52 Keyboard UpArrow
KC_NUMLOCK          KC_NLCK         53 Keypad Num Lock and Clear
KC_KP_SLASH         KC_PSLS         54 Keypad /
KC_KP_ASTERISK      KC_PAST         55 Keypad *
KC_KP_MINUS         KC_PMNS         56 Keypad -
KC_KP_PLUS          KC_PPLS         57 Keypad +
KC_KP_ENTER         KC_PENT         58 Keypad ENTER
KC_KP_1             KC_P1           59 Keypad 1 and End
KC_KP_2             KC_P2           5A Keypad 2 and Down Arrow
KC_KP_3             KC_P3           5B Keypad 3 and PageDn
KC_KP_4             KC_P4           5C Keypad 4 and Left Arrow
KC_KP_5             KC_P5           5D Keypad 5
KC_KP_6             KC_P6           5E Keypad 6 and Right Arrow
KC_KP_7             KC_P7           5F Keypad 7 and Home
KC_KP_8             KC_P8           60 Keypad 8 and Up Arrow
KC_KP_9             KC_P9           61 Keypad 9 and PageUp
KC_KP_0             KC_P0           62 Keypad 0 and Insert
KC_KP_DOT           KC_PDOT         63 Keypad . and Delete
KC_NONUS_BSLASH     KC_NUBS         64 Keyboard Non-US \ and |
KC_APPLICATION      KC_APP          65 Keyboard Application
KC_POWER                            66 Keyboard Power
KC_KP_EQUAL         KC_PEQL         67 Keypad =
KC_F13                              68 Keyboard F13
KC_F14                              69 Keyboard F14
KC_F15                              6A Keyboard F15
KC_F16                              6B Keyboard F16
KC_F17                              6C Keyboard F17
KC_F18                              6D Keyboard F18
KC_F19                              6E Keyboard F19
KC_F20                              6F Keyboard F20
KC_F21                              70 Keyboard F21
KC_F22                              71 Keyboard F22
KC_F23                              72 Keyboard F23
KC_F24                              73 Keyboard F24
KC_EXECUTE                          74 Keyboard Execute
KC_HELP                             75 Keyboard Help
KC_MENU                             76 Keyboard Menu
KC_SELECT                           77 Keyboard Select
KC_STOP                             78 Keyboard Stop
KC_AGAIN                            79 Keyboard Again
KC_UNDO                             7A Keyboard Undo
KC_CUT                              7B Keyboard Cut
KC_COPY                             7C Keyboard Copy
KC_PASTE                            7D Keyboard Paste
KC_FIND                             7E Keyboard Find
KC__MUTE                            7F Keyboard Mute
KC__VOLUP                           80 Keyboard Volume Up
KC__VOLDOWN                         81 Keyboard Volume Down
KC_LOCKING_CAPS                     82 Keyboard Locking Caps Lock
KC_LOCKING_NUM                      83 Keyboard Locking Num Lock
KC_LOCKING_SCROLL                   84 Keyboard Locking Scroll Lock
KC_KP_COMMA         KC_PCMM         85 Keypad Comma
KC_KP_EQUAL_AS400                   86 Keypad Equal Sign
KC_INT1             KC_RO           87 Keyboard International115
KC_INT2             KC_KANA         88 Keyboard International216
KC_INT3             KC_JYEN         89 Keyboard International317
KC_INT4             KC_HENK         8A Keyboard International418
KC_INT5             KC_MHEN         8B Keyboard International519
KC_INT6                             8C Keyboard International620
KC_INT7                             8D Keyboard International721
KC_INT8                             8E Keyboard International822
KC_INT9                             8F Keyboard International922
KC_LANG1                            90 Keyboard LANG125
KC_LANG2                            91 Keyboard LANG226
KC_LANG3                            92 Keyboard LANG330
KC_LANG4                            93 Keyboard LANG431
KC_LANG5                            94 Keyboard LANG532
KC_LANG6                            95 Keyboard LANG68
KC_LANG7                            96 Keyboard LANG78
KC_LANG8                            97 Keyboard LANG88
KC_LANG9                            98 Keyboard LANG98
KC_ALT_ERASE                        99 Keyboard Alternate Erase
KC_SYSREQ                           9A Keyboard SysReq/Attention
KC_CANCEL                           9B Keyboard Cancel
KC_CLEAR                            9C Keyboard Clear
KC_PRIOR                            9D Keyboard Prior
KC_RETURN                           9E Keyboard Return
KC_SEPARATOR                        9F Keyboard Separator
KC_OUT                              A0 Keyboard Out
KC_OPER                             A1 Keyboard Oper
KC_CLEAR_AGAIN                      A2 Keyboard Clear/Again
KC_CRSEL                            A3 Keyboard CrSel/Props
KC_EXSEL                            A4 Keyboard ExSel
/* Modifiers */
KC_LCTRL            KC_LCTL         E0 Keyboard LeftControl
KC_LSHIFT           KC_LSFT         E1 Keyboard LeftShift
KC_LALT                             E2 Keyboard LeftAlt
KC_LGUI                             E3 Keyboard Left GUI(Windows/Apple/Meta key)
KC_RCTRL            KC_RCTL         E4 Keyboard RightControl
KC_RSHIFT           KC_RSFT         E5 Keyboard RightShift
KC_RALT                             E6 Keyboard RightAlt
KC_RGUI                             E7 Keyboard Right GUI(Windows/Apple/Meta key)

/*
 * Virtual keycodes
 */
/* System Control */
KC_SYSTEM_POWER     KC_PWR          System Power Down
KC_SYSTEM_SLEEP     KC_SLEP         System Sleep
KC_SYSTEM_WAKE      KC_WAKE         System Wake
/* Consumer Page */
KC_AUDIO_MUTE       KC_MUTE
KC_AUDIO_VOL_UP     KC_VOLU
KC_AUDIO_VOL_DOWN   KC_VOLD
KC_MEDIA_NEXT_TRACK KC_MNXT
KC_MEDIA_PREV_TRACK KC_MPRV
KC_MEDIA_STOP       KC_MSTP
KC_MEDIA_PLAY_PAUSE KC_MPLY
KC_MEDIA_SELECT     KC_MSEL
KC_MAIL             KC_MAIL
KC_CALCULATOR       KC_CALC
KC_MY_COMPUTER      KC_MYCM
KC_WWW_SEARCH       KC_WSCH
KC_WWW_HOME         KC_WHOM
KC_WWW_BACK         KC_WBAK
KC_WWW_FORWARD      KC_WFWD
KC_WWW_STOP         KC_WSTP
KC_WWW_REFRESH      KC_WREF
KC_WWW_FAVORITES    KC_WFAV
/* Mousekey */
KC_MS_UP            KC_MS_U         Mouse Cursor Up
KC_MS_DOWN          KC_MS_D         Mouse Cursor Down
KC_MS_LEFT          KC_MS_L         Mouse Cursor Left
KC_MS_RIGHT         KC_MS_R         Mouse Cursor Right
KC_MS_BTN1          KC_BTN1         Mouse Button 1
KC_MS_BTN2          KC_BTN2         Mouse Button 2
KC_MS_BTN3          KC_BTN3         Mouse Button 3
KC_MS_BTN4          KC_BTN4         Mouse Button 4
KC_MS_BTN5          KC_BTN5         Mouse Button 5
KC_MS_WH_UP         KC_WH_U         Mouse Wheel Up
KC_MS_WH_DOWN       KC_WH_D         Mouse Wheel Down
KC_MS_WH_LEFT       KC_WH_L         Mouse Wheel Left
KC_MS_WH_RIGHT      KC_WH_R         Mouse Wheel Right
KC_MS_ACCEL0        KC_ACL0         Mouse Acceleration 0
KC_MS_ACCEL1        KC_ACL1         Mouse Acceleration 1
KC_MS_ACCEL2        KC_ACL2         Mouse Acceleration 2
/* Fn key */
KC_FN0
KC_FN1
KC_FN2
KC_FN3
KC_FN4
KC_FN5
KC_FN6
KC_FN7
KC_FN8
KC_FN9
KC_FN10
KC_FN11
KC_FN12
KC_FN13
KC_FN14
KC_FN15
KC_FN16
KC_FN17
KC_FN18
KC_FN19
KC_FN20
KC_FN21
KC_FN22
KC_FN23
KC_FN24
KC_FN25
KC_FN26
KC_FN27
KC_FN28
KC_FN29
KC_FN30
KC_FN31