aboutsummaryrefslogtreecommitdiff
path: root/usb_keycodes.h
diff options
context:
space:
mode:
Diffstat (limited to 'usb_keycodes.h')
-rw-r--r--usb_keycodes.h236
1 files changed, 133 insertions, 103 deletions
diff --git a/usb_keycodes.h b/usb_keycodes.h
index 9c5759843..59c97785a 100644
--- a/usb_keycodes.h
+++ b/usb_keycodes.h
@@ -32,24 +32,26 @@
32 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 32 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
33 * MA 02110-1301 USA 33 * MA 02110-1301 USA
34 */ 34 */
35
36#ifndef USB_KEYCODES_H 35#ifndef USB_KEYCODES_H
37#define USB_KEYCODES_H 36#define USB_KEYCODES_H
38 37
39#define IS_ERROR(code) (KB_ROLL_OVER <= (code) && (code) <= KB_UNDEFINED) 38
40#define IS_KEY(code) (KB_A <= (code) && (code) <= KP_HEXADECIMAL) 39#define IS_ERROR(code) (KB_ROLL_OVER <= (code) && (code) <= KB_UNDEFINED)
41#define IS_MOD(code) (KB_LCTRL <= (code) && (code) <= KB_RGUI) 40#define IS_KEY(code) (KB_A <= (code) && (code) <= KB_KP_HEXADECIMAL)
42#define IS_FN(code) (FN_0 <= (code) && (code) <= FN_7) 41#define IS_MOD(code) (KB_LCTRL <= (code) && (code) <= KB_RGUI)
43#define IS_MOUSEKEY(code) (MS_UP <= (code) && (code) <= MS_WH_RIGHT) 42#define IS_FN(code) (KB_FN0 <= (code) && (code) <= KB_FN7)
44#define IS_MOUSEKEY_MOVE(code) (MS_UP <= (code) && (code) <= MS_RIGHT) 43#define IS_MOUSEKEY(code) (KB_MS_UP <= (code) && (code) <= KB_MS_WH_RIGHT)
45#define IS_MOUSEKEY_BUTTON(code) (MS_BTN1 <= (code) && (code) <= MS_BTN5) 44#define IS_MOUSEKEY_MOVE(code) (KB_MS_UP <= (code) && (code) <= KB_MS_RIGHT)
46#define IS_MOUSEKEY_WHEEL(code) (MS_WH_UP <= (code) && (code) <= MS_WH_RIGHT) 45#define IS_MOUSEKEY_BUTTON(code) (KB_MS_BTN1 <= (code) && (code) <= KB_MS_BTN5)
46#define IS_MOUSEKEY_WHEEL(code) (KB_MS_WH_UP <= (code) && (code) <= KB_MS_WH_RIGHT)
47 47
48#define MOD_BIT(code) (1<<((code) & 0x07)) 48#define MOD_BIT(code) (1<<((code) & 0x07))
49#define FN_BIT(code) (1<<((code) - FN_0)) 49#define FN_BIT(code) (1<<((code) - KB_FN0))
50 50
51 51
52// short names 52//
53// Short names
54//
53#define KB_LCTL KB_LCTRL 55#define KB_LCTL KB_LCTRL
54#define KB_RCTL KB_RCTRL 56#define KB_RCTL KB_RCTRL
55#define KB_LSFT KB_LSHIFT 57#define KB_LSFT KB_LSHIFT
@@ -65,6 +67,7 @@
65#define KB_PSCR KB_PSCREEN 67#define KB_PSCR KB_PSCREEN
66#define KB_SLCK KB_SCKLOCK 68#define KB_SLCK KB_SCKLOCK
67#define KB_BRK KB_BREAK 69#define KB_BRK KB_BREAK
70#define KB_NLCK KB_NUMLOCK
68#define KB_SPC KB_SPACE 71#define KB_SPC KB_SPACE
69#define KB_MINS KB_MINUS 72#define KB_MINS KB_MINUS
70#define KB_EQL KB_EQUAL 73#define KB_EQL KB_EQUAL
@@ -79,14 +82,38 @@
79#define KB_PWR KB_POWER 82#define KB_PWR KB_POWER
80#define KB_VOLU KB_VOLUP 83#define KB_VOLU KB_VOLUP
81#define KB_VOLD KB_VOLDOWN 84#define KB_VOLD KB_VOLDOWN
82#define KP_SLSH KP_SLASH 85// Keypad
83#define KP_ASTR KP_ASTERISK 86#define KB_P1 KB_KP_1
84#define KP_MINS KP_MINUS 87#define KB_P2 KB_KP_2
85#define MS_RGHT MS_RIGHT 88#define KB_P3 KB_KP_3
86#define MS_WH_U MS_WH_UP 89#define KB_P4 KB_KP_4
87#define MS_WH_D MS_WH_DOWN 90#define KB_P5 KB_KP_5
88#define MS_WH_L MS_WH_LEFT 91#define KB_P6 KB_KP_6
89#define MS_WH_R MS_WH_RIGHT 92#define KB_P7 KB_KP_7
93#define KB_P8 KB_KP_8
94#define KB_P9 KB_KP_9
95#define KB_P0 KB_KP_0
96#define KB_PDOT KB_KP_DOT
97#define KB_PSLS KB_KP_SLASH
98#define KB_PAST KB_KP_ASTERISK
99#define KB_PMNS KB_KP_MINUS
100#define KB_PPLS KB_KP_PLUS
101#define KB_PEQL KB_KP_EQUAL
102#define KB_PENT KB_KP_ENTER
103// Mousekey
104#define KB_MS_U KB_MS_UP
105#define KB_MS_D KB_MS_DOWN
106#define KB_MS_L KB_MS_LEFT
107#define KB_MS_R KB_MS_RIGHT
108#define KB_BTN1 KB_MS_BTN1
109#define KB_BTN2 KB_MS_BTN2
110#define KB_BTN3 KB_MS_BTN3
111#define KB_BTN4 KB_MS_BTN4
112#define KB_BTN5 KB_MS_BTN5
113#define KB_WH_U KB_MS_WH_UP
114#define KB_WH_D KB_MS_WH_DOWN
115#define KB_WH_L KB_MS_WH_LEFT
116#define KB_WH_R KB_MS_WH_RIGHT
90 117
91 118
92enum keycodes { 119enum keycodes {
@@ -174,26 +201,26 @@ enum keycodes {
174 KB_DOWN, 201 KB_DOWN,
175 KB_UP, 202 KB_UP,
176 KB_NUMLOCK, 203 KB_NUMLOCK,
177 KP_SLASH, 204 KB_KP_SLASH,
178 KP_ASTERISK, 205 KB_KP_ASTERISK,
179 KP_MINUS, 206 KB_KP_MINUS,
180 KP_PLUS, 207 KB_KP_PLUS,
181 KP_ENTER, 208 KB_KP_ENTER,
182 KP_1, 209 KB_KP_1,
183 KP_2, 210 KB_KP_2,
184 KP_3, 211 KB_KP_3,
185 KP_4, 212 KB_KP_4,
186 KP_5, 213 KB_KP_5,
187 KP_6, 214 KB_KP_6,
188 KP_7, 215 KB_KP_7,
189 KP_8, /* 0x60 */ 216 KB_KP_8, /* 0x60 */
190 KP_9, 217 KB_KP_9,
191 KP_0, 218 KB_KP_0,
192 KP_DOT, 219 KB_KP_DOT,
193 KB_NONUS_BSLASH, /* Non-US \ and | */ 220 KB_NONUS_BSLASH, /* Non-US \ and | */
194 KB_APPLICATION, 221 KB_APPLICATION,
195 KB_POWER, 222 KB_POWER,
196 KP_EQUAL, 223 KB_KP_EQUAL,
197 KB_F13, 224 KB_F13,
198 KB_F14, 225 KB_F14,
199 KB_F15, 226 KB_F15,
@@ -223,8 +250,8 @@ enum keycodes {
223 KB_LOCKING_CAPS, /* locking Caps Lock */ 250 KB_LOCKING_CAPS, /* locking Caps Lock */
224 KB_LOCKING_NUM, /* locking Num Lock */ 251 KB_LOCKING_NUM, /* locking Num Lock */
225 KB_LOCKING_SCROLL, /* locking Scroll Lock */ 252 KB_LOCKING_SCROLL, /* locking Scroll Lock */
226 KP_COMMA, 253 KB_KP_COMMA,
227 KP_EQUAL_AS400, /* equal sign on AS/400 */ 254 KB_KP_EQUAL_AS400, /* equal sign on AS/400 */
228 KB_INT1, 255 KB_INT1,
229 KB_INT2, 256 KB_INT2,
230 KB_INT3, 257 KB_INT3,
@@ -256,52 +283,52 @@ enum keycodes {
256 KB_CRSEL, 283 KB_CRSEL,
257 KB_EXSEL, 284 KB_EXSEL,
258 285
259 KP_00 = 0xB0, 286 KB_KP_00 = 0xB0,
260 KP_000, 287 KB_KP_000,
261 KB_THOUSANDS_SEPARATOR, 288 KB_THOUSANDS_SEPARATOR,
262 KB_DECIMAL_SEPARATOR, 289 KB_DECIMAL_SEPARATOR,
263 CURRENCY_UNIT, 290 KB_CURRENCY_UNIT,
264 CURRENCY_SUB_UNIT, 291 KB_CURRENCY_SUB_UNIT,
265 KP_LPAREN, 292 KB_KP_LPAREN,
266 KP_RPAREN, 293 KB_KP_RPAREN,
267 KP_LCBRACKET, /* { */ 294 KB_KP_LCBRACKET, /* { */
268 KP_RCBRACKET, /* } */ 295 KB_KP_RCBRACKET, /* } */
269 KP_TAB, 296 KB_KP_TAB,
270 KP_BSPACE, 297 KB_KP_BSPACE,
271 KP_A, 298 KB_KP_A,
272 KP_B, 299 KB_KP_B,
273 KP_C, 300 KB_KP_C,
274 KP_D, 301 KB_KP_D,
275 KP_E, 302 KB_KP_E,
276 KP_F, 303 KB_KP_F,
277 KP_XOR, 304 KB_KP_XOR,
278 KP_HAT, 305 KB_KP_HAT,
279 KP_PERC, 306 KB_KP_PERC,
280 KP_LT, 307 KB_KP_LT,
281 KP_GT, 308 KB_KP_GT,
282 KP_AND, 309 KB_KP_AND,
283 KP_LAZYAND, 310 KB_KP_LAZYAND,
284 KP_OR, 311 KB_KP_OR,
285 KP_LAZYOR, 312 KB_KP_LAZYOR,
286 KP_COLON, 313 KB_KP_COLON,
287 KP_HASH, 314 KB_KP_HASH,
288 KP_SPACE, 315 KB_KP_SPACE,
289 KP_ATMARK, 316 KB_KP_ATMARK,
290 KP_EXCLAMATION, 317 KB_KP_EXCLAMATION,
291 KP_MEM_STORE, 318 KB_KP_MEM_STORE,
292 KP_MEM_RECALL, 319 KB_KP_MEM_RECALL,
293 KP_MEM_CLEAR, 320 KB_KP_MEM_CLEAR,
294 KP_MEM_ADD, 321 KB_KP_MEM_ADD,
295 KP_MEM_SUB, 322 KB_KP_MEM_SUB,
296 KP_MEM_MUL, 323 KB_KP_MEM_MUL,
297 KP_MEM_DIV, 324 KB_KP_MEM_DIV,
298 KP_PLUS_MINUS, 325 KB_KP_PLUS_MINUS,
299 KP_CLEAR, 326 KB_KP_CLEAR,
300 KP_CLEAR_ENTRY, 327 KB_KP_CLEAR_ENTRY,
301 KP_BINARY, 328 KB_KP_BINARY,
302 KP_OCTAL, 329 KB_KP_OCTAL,
303 KP_DECIMAL, 330 KB_KP_DECIMAL,
304 KP_HEXADECIMAL, 331 KB_KP_HEXADECIMAL,
305 332
306 /* modifiers */ 333 /* modifiers */
307 KB_LCTRL = 0xE0, /* 0x01 */ 334 KB_LCTRL = 0xE0, /* 0x01 */
@@ -314,27 +341,30 @@ enum keycodes {
314 KB_RGUI, /* 0x80 */ 341 KB_RGUI, /* 0x80 */
315 342
316 /* extensions for internal use */ 343 /* extensions for internal use */
317 FN_0 = 0xE8, 344 KB_FN0 = 0xE8,
318 FN_1, 345 KB_FN1,
319 FN_2, 346 KB_FN2,
320 FN_3, 347 KB_FN3,
321 FN_4, 348 KB_FN4,
322 FN_5, 349 KB_FN5,
323 FN_6, 350 KB_FN6,
324 FN_7, 351 KB_FN7,
325 MS_UP = 0xF0, 352 // Mousekey move
326 MS_DOWN, 353 KB_MS_UP = 0xF0,
327 MS_LEFT, 354 KB_MS_DOWN,
328 MS_RIGHT, 355 KB_MS_LEFT,
329 MS_BTN1 = 0xF4, 356 KB_MS_RIGHT,
330 MS_BTN2, 357 // Mousekey buttons
331 MS_BTN3, 358 KB_MS_BTN1 = 0xF4,
332 MS_BTN4, 359 KB_MS_BTN2,
333 MS_BTN5, 360 KB_MS_BTN3,
334 MS_WH_UP, 361 KB_MS_BTN4,
335 MS_WH_DOWN, 362 KB_MS_BTN5,
336 MS_WH_LEFT, 363 // Mousekey wheel
337 MS_WH_RIGHT, 364 KB_MS_WH_UP,
365 KB_MS_WH_DOWN,
366 KB_MS_WH_LEFT,
367 KB_MS_WH_RIGHT,
338}; 368};
339 369
340#endif /* USB_KEYCODES_H */ 370#endif /* USB_KEYCODES_H */