]> git.donarmstrong.com Git - kiibohd-controller.git/blob - usb_keys.h
Adding all of the USB keycodes, and proper key ordering.
[kiibohd-controller.git] / usb_keys.h
1 #ifndef __usb_keys_h
2 #define __usb_keys_h
3
4
5 // List of Modifiers
6 #define KEY_CTRL        0x01
7 #define KEY_SHIFT       0x02
8 #define KEY_ALT         0x04
9 #define KEY_GUI         0x08
10 #define KEY_LEFT_CTRL   0x01
11 #define KEY_LEFT_SHIFT  0x02
12 #define KEY_LEFT_ALT    0x04
13 #define KEY_LEFT_GUI    0x08
14 #define KEY_RIGHT_CTRL  0x10
15 #define KEY_RIGHT_SHIFT 0x20
16 #define KEY_RIGHT_ALT   0x40
17 #define KEY_RIGHT_GUI   0x80
18
19 // List of Keycodes
20 #define KEY_A           4
21 #define KEY_B           5
22 #define KEY_C           6
23 #define KEY_D           7
24 #define KEY_E           8
25 #define KEY_F           9
26 #define KEY_G           10
27 #define KEY_H           11
28 #define KEY_I           12
29 #define KEY_J           13
30 #define KEY_K           14
31 #define KEY_L           15
32 #define KEY_M           16
33 #define KEY_N           17
34 #define KEY_O           18
35 #define KEY_P           19
36 #define KEY_Q           20
37 #define KEY_R           21
38 #define KEY_S           22
39 #define KEY_T           23
40 #define KEY_U           24
41 #define KEY_V           25
42 #define KEY_W           26
43 #define KEY_X           27
44 #define KEY_Y           28
45 #define KEY_Z           29
46 #define KEY_1           30
47 #define KEY_2           31
48 #define KEY_3           32
49 #define KEY_4           33
50 #define KEY_5           34
51 #define KEY_6           35
52 #define KEY_7           36
53 #define KEY_8           37
54 #define KEY_9           38
55 #define KEY_0           39
56 #define KEY_ENTER       40
57 #define KEY_ESC         41
58 #define KEY_BACKSPACE   42
59 #define KEY_TAB         43
60 #define KEY_SPACE       44
61 #define KEY_MINUS       45
62 #define KEY_EQUAL       46
63 #define KEY_LEFT_BRACE  47
64 #define KEY_RIGHT_BRACE 48
65 #define KEY_BACKSLASH   49
66 #define KEY_NUMBER      50
67 #define KEY_SEMICOLON   51
68 #define KEY_QUOTE       52
69 #define KEY_TILDE       53
70 #define KEY_COMMA       54
71 #define KEY_PERIOD      55
72 #define KEY_SLASH       56
73 #define KEY_CAPS_LOCK   57
74 #define KEY_F1          58
75 #define KEY_F2          59
76 #define KEY_F3          60
77 #define KEY_F4          61
78 #define KEY_F5          62
79 #define KEY_F6          63
80 #define KEY_F7          64
81 #define KEY_F8          65
82 #define KEY_F9          66
83 #define KEY_F10         67
84 #define KEY_F11         68
85 #define KEY_F12         69
86 #define KEY_PRINTSCREEN 70
87 #define KEY_SCROLL_LOCK 71
88 #define KEY_PAUSE       72
89 #define KEY_INSERT      73
90 #define KEY_HOME        74
91 #define KEY_PAGE_UP     75
92 #define KEY_DELETE      76
93 #define KEY_END         77
94 #define KEY_PAGE_DOWN   78
95 #define KEY_RIGHT       79
96 #define KEY_LEFT        80
97 #define KEY_DOWN        81
98 #define KEY_UP          82
99 #define KEY_NUM_LOCK    83
100 #define KEYPAD_SLASH    84
101 #define KEYPAD_ASTERIX  85
102 #define KEYPAD_MINUS    86
103 #define KEYPAD_PLUS     87
104 #define KEYPAD_ENTER    88
105 #define KEYPAD_1        89
106 #define KEYPAD_2        90
107 #define KEYPAD_3        91
108 #define KEYPAD_4        92
109 #define KEYPAD_5        93
110 #define KEYPAD_6        94
111 #define KEYPAD_7        95
112 #define KEYPAD_8        96
113 #define KEYPAD_9        97
114 #define KEYPAD_0        98
115 #define KEYPAD_PERIOD   99
116 #define KEY_ISO_BACKSLASH 100
117 #define KEY_APP         101
118 #define KEYBOARD_ERROR  102 // See spec
119 #define KEYPAD_EQUAL    103
120 #define KEY_F13         104
121 #define KEY_F14         105
122 #define KEY_F15         106
123 #define KEY_F16         107
124 #define KEY_F17         108
125 #define KEY_F18         109
126 #define KEY_F19         110
127 #define KEY_F20         111
128 #define KEY_F21         112
129 #define KEY_F22         113
130 #define KEY_F23         114
131 #define KEY_F24         115
132 #define KEY_EXEC        116
133 #define KEY_HELP        117
134 #define KEY_MENU        118
135 #define KEY_SELECT      119
136 #define KEY_STOP        120
137 #define KEY_AGAIN       121
138 #define KEY_UNDO        122
139 #define KEY_CUT         123
140 #define KEY_COPY        124
141 #define KEY_PASTE       125
142 #define KEY_FIND        126
143 #define KEY_MUTE        127
144 #define KEY_VOL_UP      128
145 #define KEY_VOL_DOWN    129
146 #define KEY_CAPS_LLOCK  130 // "Locking" Scroll Lock (Old keyboards with Locking Caps Lock)
147 #define KEY_NUM_LLOCK   131
148 #define KEY_SCROLL_LLOCK 132
149 #define KEYPAD_COMMA    133 // Brazillian (See spec)
150 #define KEYPAD_EQUAL_AS 134 // AS/400 Keyboard (See spec)
151 #define KEY_INTER1      135 // Brazillian and Japanese "Ru"
152 #define KEY_INTER2      136 // Japanese Katakana/Hiragana
153 #define KEY_INTER3      137 // Japanese Yen
154 #define KEY_INTER4      138 // Japanese Henkan
155 #define KEY_INTER5      139 // Japanese Muhenkan
156 #define KEY_INTER6      140 // PC98 Comma (Ka-m-ma)
157 #define KEY_INTER7      141 // Double-Byte/Single-Byte Toggle
158 #define KEY_INTER8      142 // Undefined
159 #define KEY_INTER9      143 // Undefined
160 #define KEY_LANG1       144 // Korean Hangul/English Toggle
161 #define KEY_LANG2       145 // Korean Hanja Conversion
162 #define KEY_LANG3       146 // Japanese Katakana Key (USB)
163 #define KEY_LANG4       147 // Japanese Hiragana Key (USB)
164 #define KEY_LANG5       148 // Japanese Zenkaku/Hankaku Key (USB)
165 #define KEY_LANG6       149 // Reserved (Application Specific)
166 #define KEY_LANG7       150 // Reserved (Application Specific)
167 #define KEY_LANG8       151 // Reserved (Application Specific)
168 #define KEY_LANG9       152 // Reserved (Application Specific)
169 #define KEY_ALT_ERASE   153 // Special Erase (See Spec)
170 #define KEY_SYSREQ_ATT  154 // Modifier Type
171 #define KEY_CANCEL      155
172 #define KEY_CLEAR       156
173 #define KEY_PRIOR       157
174 #define KEY_RETURN      158
175 #define KEY_SEPARATOR   159
176 #define KEY_OUT         160
177 #define KEY_OPER        161
178 #define KEY_CLEAR_AGAIN 162
179 #define KEY_CRSEL_PROPS 163
180 #define KEY_EXSEL       164
181 // 165 - 175 Reserved
182 #define KEYPAD_00       176
183 #define KEYPAD_000      177
184 #define KEY_1000_SEP    178
185 #define KEY_DECIMAL_SEP 179
186 #define KEY_CURRENCY_MAIN 180
187 #define KEY_CURRENCY_SUB 181
188 #define KEYPAD_LPAREN   182
189 #define KEYPAD_RPAREN   183
190 #define KEYPAD_LBRACE   184
191 #define KEYPAD_RBRACE   185
192 #define KEYPAD_TAB      186
193 #define KEYPAD_BACKSPACE 187
194 #define KEYPAD_A        188
195 #define KEYPAD_B        189
196 #define KEYPAD_C        190
197 #define KEYPAD_D        191
198 #define KEYPAD_E        192
199 #define KEYPAD_F        193
200 #define KEYPAD_XOR      194
201 #define KEYPAD_CHEVRON  195
202 #define KEYPAD_PERCENT  196
203 #define KEYPAD_LTHAN    197
204 #define KEYPAD_GTHAN    198
205 #define KEYPAD_AND      199
206 #define KEYPAD_AND_AND  200
207 #define KEYPAD_OR       201
208 #define KEYPAD_OR_OR    202
209 #define KEYPAD_COLON    203
210 #define KEYPAD_POUND    204
211 #define KEYPAD_SPACE    205
212 #define KEYPAD_AT       206
213 #define KEYPAD_EXCLAIM  207
214 #define KEYPAD_MEM_STORE 208
215 #define KEYPAD_MEM_RECALL 209
216 #define KEYPAD_MEM_CLEAR 210
217 #define KEYPAD_MEM_ADD  211
218 #define KEYPAD_MEM_SUB  212
219 #define KEYPAD_MEM_MULT 213
220 #define KEYPAD_MEM_DIV  214
221 #define KEYPAD_PLUS_MINUS 215
222 #define KEYPAD_CLEAR    216
223 #define KEYPAD_CLEAR_ENTRY 217
224 #define KEYPAD_BINARY   218
225 #define KEYPAD_OCTAL    219
226 #define KEYPAD_DECIMAL  220
227 #define KEYPAD_HEX      221
228 // 222 - 223 Reserved
229 #define KEYS_LCTRL      224
230 #define KEYS_LSHIFT     225
231 #define KEYS_LALT       226
232 #define KEYS_LGUI       227
233 #define KEYS_RCTRL      228
234 #define KEYS_RSHIFT     229
235 #define KEYS_RALT       230
236 #define KEYS_RGUI       231
237 // 232 - 65535 Reserved
238
239
240
241
242
243 #endif
244