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
58 #define KEY_BACKSPACE 42
63 #define KEY_LEFT_BRACE 47
64 #define KEY_RIGHT_BRACE 48
65 #define KEY_BACKSLASH 49
67 #define KEY_SEMICOLON 51
73 #define KEY_CAPS_LOCK 57
86 #define KEY_PRINTSCREEN 70
87 #define KEY_SCROLL_LOCK 71
91 #define KEY_PAGE_UP 75
94 #define KEY_PAGE_DOWN 78
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
115 #define KEYPAD_PERIOD 99
116 #define KEY_ISO_BACKSLASH 100
118 #define KEYBOARD_ERROR 102 // See spec
119 #define KEYPAD_EQUAL 103
135 #define KEY_SELECT 119
137 #define KEY_AGAIN 121
141 #define KEY_PASTE 125
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
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
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