1 /// Needed C declarations taken out of /usr/include/linux/input.h
2 module glfw3.linuxinput;
3 
4 import core.sys.posix.sys.ioctl;
5 
6 struct input_absinfo {
7 	int value;
8 	int minimum;
9 	int maximum;
10 	int fuzz;
11 	int flat;
12 	int resolution;
13 }
14 
15 struct input_id {
16 	ushort bustype;
17 	ushort vendor;
18 	ushort product;
19 	ushort version_;
20 }
21 
22 struct input_event {
23 	import core.sys.posix.sys.time: timeval;
24 	timeval time;
25 	ushort type;
26 	ushort code;
27 	int value;
28 }
29 
30 auto EVIOCGBIT(T)(int ev) {
31 	return _IOC!T(_IOC_READ, 'E', 0x20 + (ev));
32 }
33 
34 auto EVIOCGABS(T)(T abs) {return _IOR!input_absinfo('E', 0x40 + (abs));}
35 auto EVIOCSABS(T)(T abs) {return _IOW!input_absinfo('E', 0xc0 + (abs));}
36 
37 enum EVIOCGID = _IOR!input_id('E', 0x02);
38 auto EVIOCGNAME(T)() {return _IOC!T(_IOC_READ, 'E', 0x06);}
39 
40 //
41 // input-event-codes.h
42 //
43 
44 enum INPUT_PROP_POINTER = 0x00;
45 enum INPUT_PROP_DIRECT = 0x01;
46 enum INPUT_PROP_BUTTONPAD = 0x02;
47 enum INPUT_PROP_SEMI_MT = 0x03;
48 enum INPUT_PROP_TOPBUTTONPAD = 0x04;
49 enum INPUT_PROP_POINTING_STICK = 0x05;
50 enum INPUT_PROP_ACCELEROMETER = 0x06;
51 
52 enum INPUT_PROP_MAX = 0x1f;
53 enum INPUT_PROP_CNT = (INPUT_PROP_MAX + 1);
54 
55 enum EV_SYN = 0x00;
56 enum EV_KEY = 0x01;
57 enum EV_REL = 0x02;
58 enum EV_ABS = 0x03;
59 enum EV_MSC = 0x04;
60 enum EV_SW = 0x05;
61 enum EV_LED = 0x11;
62 enum EV_SND = 0x12;
63 enum EV_REP = 0x14;
64 enum EV_FF = 0x15;
65 enum EV_PWR = 0x16;
66 enum EV_FF_STATUS = 0x17;
67 enum EV_MAX = 0x1f;
68 enum EV_CNT = (EV_MAX+1);
69 
70 enum SYN_REPORT = 0;
71 enum SYN_CONFIG = 1;
72 enum SYN_MT_REPORT = 2;
73 enum SYN_DROPPED = 3;
74 enum SYN_MAX = 0xf;
75 enum SYN_CNT = (SYN_MAX+1);
76 
77 enum KEY_RESERVED = 0;
78 enum KEY_ESC = 1;
79 enum KEY_1 = 2;
80 enum KEY_2 = 3;
81 enum KEY_3 = 4;
82 enum KEY_4 = 5;
83 enum KEY_5 = 6;
84 enum KEY_6 = 7;
85 enum KEY_7 = 8;
86 enum KEY_8 = 9;
87 enum KEY_9 = 10;
88 enum KEY_0 = 11;
89 enum KEY_MINUS = 12;
90 enum KEY_EQUAL = 13;
91 enum KEY_BACKSPACE = 14;
92 enum KEY_TAB = 15;
93 enum KEY_Q = 16;
94 enum KEY_W = 17;
95 enum KEY_E = 18;
96 enum KEY_R = 19;
97 enum KEY_T = 20;
98 enum KEY_Y = 21;
99 enum KEY_U = 22;
100 enum KEY_I = 23;
101 enum KEY_O = 24;
102 enum KEY_P = 25;
103 enum KEY_LEFTBRACE = 26;
104 enum KEY_RIGHTBRACE = 27;
105 enum KEY_ENTER = 28;
106 enum KEY_LEFTCTRL = 29;
107 enum KEY_A = 30;
108 enum KEY_S = 31;
109 enum KEY_D = 32;
110 enum KEY_F = 33;
111 enum KEY_G = 34;
112 enum KEY_H = 35;
113 enum KEY_J = 36;
114 enum KEY_K = 37;
115 enum KEY_L = 38;
116 enum KEY_SEMICOLON = 39;
117 enum KEY_APOSTROPHE = 40;
118 enum KEY_GRAVE = 41;
119 enum KEY_LEFTSHIFT = 42;
120 enum KEY_BACKSLASH = 43;
121 enum KEY_Z = 44;
122 enum KEY_X = 45;
123 enum KEY_C = 46;
124 enum KEY_V = 47;
125 enum KEY_B = 48;
126 enum KEY_N = 49;
127 enum KEY_M = 50;
128 enum KEY_COMMA = 51;
129 enum KEY_DOT = 52;
130 enum KEY_SLASH = 53;
131 enum KEY_RIGHTSHIFT = 54;
132 enum KEY_KPASTERISK = 55;
133 enum KEY_LEFTALT = 56;
134 enum KEY_SPACE = 57;
135 enum KEY_CAPSLOCK = 58;
136 enum KEY_F1 = 59;
137 enum KEY_F2 = 60;
138 enum KEY_F3 = 61;
139 enum KEY_F4 = 62;
140 enum KEY_F5 = 63;
141 enum KEY_F6 = 64;
142 enum KEY_F7 = 65;
143 enum KEY_F8 = 66;
144 enum KEY_F9 = 67;
145 enum KEY_F10 = 68;
146 enum KEY_NUMLOCK = 69;
147 enum KEY_SCROLLLOCK = 70;
148 enum KEY_KP7 = 71;
149 enum KEY_KP8 = 72;
150 enum KEY_KP9 = 73;
151 enum KEY_KPMINUS = 74;
152 enum KEY_KP4 = 75;
153 enum KEY_KP5 = 76;
154 enum KEY_KP6 = 77;
155 enum KEY_KPPLUS = 78;
156 enum KEY_KP1 = 79;
157 enum KEY_KP2 = 80;
158 enum KEY_KP3 = 81;
159 enum KEY_KP0 = 82;
160 enum KEY_KPDOT = 83;
161 
162 enum KEY_ZENKAKUHANKAKU = 85;
163 enum KEY_102ND = 86;
164 enum KEY_F11 = 87;
165 enum KEY_F12 = 88;
166 enum KEY_RO = 89;
167 enum KEY_KATAKANA = 90;
168 enum KEY_HIRAGANA = 91;
169 enum KEY_HENKAN = 92;
170 enum KEY_KATAKANAHIRAGANA = 93;
171 enum KEY_MUHENKAN = 94;
172 enum KEY_KPJPCOMMA = 95;
173 enum KEY_KPENTER = 96;
174 enum KEY_RIGHTCTRL = 97;
175 enum KEY_KPSLASH = 98;
176 enum KEY_SYSRQ = 99;
177 enum KEY_RIGHTALT = 100;
178 enum KEY_LINEFEED = 101;
179 enum KEY_HOME = 102;
180 enum KEY_UP = 103;
181 enum KEY_PAGEUP = 104;
182 enum KEY_LEFT = 105;
183 enum KEY_RIGHT = 106;
184 enum KEY_END = 107;
185 enum KEY_DOWN = 108;
186 enum KEY_PAGEDOWN = 109;
187 enum KEY_INSERT = 110;
188 enum KEY_DELETE = 111;
189 enum KEY_MACRO = 112;
190 enum KEY_MUTE = 113;
191 enum KEY_VOLUMEDOWN = 114;
192 enum KEY_VOLUMEUP = 115;
193 enum KEY_POWER = 116;
194 enum KEY_KPEQUAL = 117;
195 enum KEY_KPPLUSMINUS = 118;
196 enum KEY_PAUSE = 119;
197 enum KEY_SCALE = 120;
198 
199 enum KEY_KPCOMMA = 121;
200 enum KEY_HANGEUL = 122;
201 enum KEY_HANGUEL = KEY_HANGEUL;
202 enum KEY_HANJA = 123;
203 enum KEY_YEN = 124;
204 enum KEY_LEFTMETA = 125;
205 enum KEY_RIGHTMETA = 126;
206 enum KEY_COMPOSE = 127;
207 
208 enum KEY_STOP = 128;
209 enum KEY_AGAIN = 129;
210 enum KEY_PROPS = 130;
211 enum KEY_UNDO = 131;
212 enum KEY_FRONT = 132;
213 enum KEY_COPY = 133;
214 enum KEY_OPEN = 134;
215 enum KEY_PASTE = 135;
216 enum KEY_FIND = 136;
217 enum KEY_CUT = 137;
218 enum KEY_HELP = 138;
219 enum KEY_MENU = 139;
220 enum KEY_CALC = 140;
221 enum KEY_SETUP = 141;
222 enum KEY_SLEEP = 142;
223 enum KEY_WAKEUP = 143;
224 enum KEY_FILE = 144;
225 enum KEY_SENDFILE = 145;
226 enum KEY_DELETEFILE = 146;
227 enum KEY_XFER = 147;
228 enum KEY_PROG1 = 148;
229 enum KEY_PROG2 = 149;
230 enum KEY_WWW = 150;
231 enum KEY_MSDOS = 151;
232 enum KEY_COFFEE = 152;
233 enum KEY_SCREENLOCK = KEY_COFFEE;
234 enum KEY_ROTATE_DISPLAY = 153;
235 enum KEY_DIRECTION = KEY_ROTATE_DISPLAY;
236 enum KEY_CYCLEWINDOWS = 154;
237 enum KEY_MAIL = 155;
238 enum KEY_BOOKMARKS = 156;
239 enum KEY_COMPUTER = 157;
240 enum KEY_BACK = 158;
241 enum KEY_FORWARD = 159;
242 enum KEY_CLOSECD = 160;
243 enum KEY_EJECTCD = 161;
244 enum KEY_EJECTCLOSECD = 162;
245 enum KEY_NEXTSONG = 163;
246 enum KEY_PLAYPAUSE = 164;
247 enum KEY_PREVIOUSSONG = 165;
248 enum KEY_STOPCD = 166;
249 enum KEY_RECORD = 167;
250 enum KEY_REWIND = 168;
251 enum KEY_PHONE = 169;
252 enum KEY_ISO = 170;
253 enum KEY_CONFIG = 171;
254 enum KEY_HOMEPAGE = 172;
255 enum KEY_REFRESH = 173;
256 enum KEY_EXIT = 174;
257 enum KEY_MOVE = 175;
258 enum KEY_EDIT = 176;
259 enum KEY_SCROLLUP = 177;
260 enum KEY_SCROLLDOWN = 178;
261 enum KEY_KPLEFTPAREN = 179;
262 enum KEY_KPRIGHTPAREN = 180;
263 enum KEY_NEW = 181;
264 enum KEY_REDO = 182;
265 
266 enum KEY_F13 = 183;
267 enum KEY_F14 = 184;
268 enum KEY_F15 = 185;
269 enum KEY_F16 = 186;
270 enum KEY_F17 = 187;
271 enum KEY_F18 = 188;
272 enum KEY_F19 = 189;
273 enum KEY_F20 = 190;
274 enum KEY_F21 = 191;
275 enum KEY_F22 = 192;
276 enum KEY_F23 = 193;
277 enum KEY_F24 = 194;
278 
279 enum KEY_PLAYCD = 200;
280 enum KEY_PAUSECD = 201;
281 enum KEY_PROG3 = 202;
282 enum KEY_PROG4 = 203;
283 enum KEY_DASHBOARD = 204;
284 enum KEY_SUSPEND = 205;
285 enum KEY_CLOSE = 206;
286 enum KEY_PLAY = 207;
287 enum KEY_FASTFORWARD = 208;
288 enum KEY_BASSBOOST = 209;
289 enum KEY_PRINT = 210;
290 enum KEY_HP = 211;
291 enum KEY_CAMERA = 212;
292 enum KEY_SOUND = 213;
293 enum KEY_QUESTION = 214;
294 enum KEY_EMAIL = 215;
295 enum KEY_CHAT = 216;
296 enum KEY_SEARCH = 217;
297 enum KEY_CONNECT = 218;
298 enum KEY_FINANCE = 219;
299 enum KEY_SPORT = 220;
300 enum KEY_SHOP = 221;
301 enum KEY_ALTERASE = 222;
302 enum KEY_CANCEL = 223;
303 enum KEY_BRIGHTNESSDOWN = 224;
304 enum KEY_BRIGHTNESSUP = 225;
305 enum KEY_MEDIA = 226;
306 
307 enum KEY_SWITCHVIDEOMODE = 227;
308 enum KEY_KBDILLUMTOGGLE = 228;
309 enum KEY_KBDILLUMDOWN = 229;
310 enum KEY_KBDILLUMUP = 230;
311 
312 enum KEY_SEND = 231;
313 enum KEY_REPLY = 232;
314 enum KEY_FORWARDMAIL = 233;
315 enum KEY_SAVE = 234;
316 enum KEY_DOCUMENTS = 235;
317 
318 enum KEY_BATTERY = 236;
319 
320 enum KEY_BLUETOOTH = 237;
321 enum KEY_WLAN = 238;
322 enum KEY_UWB = 239;
323 
324 enum KEY_UNKNOWN = 240;
325 
326 enum KEY_VIDEO_NEXT = 241;
327 enum KEY_VIDEO_PREV = 242;
328 enum KEY_BRIGHTNESS_CYCLE = 243;
329 enum KEY_BRIGHTNESS_AUTO = 244;
330 enum KEY_BRIGHTNESS_ZERO = KEY_BRIGHTNESS_AUTO;
331 enum KEY_DISPLAY_OFF = 245;
332 
333 enum KEY_WWAN = 246;
334 enum KEY_WIMAX = KEY_WWAN;
335 enum KEY_RFKILL = 247;
336 
337 enum KEY_MICMUTE = 248;
338 
339 enum BTN_MISC = 0x100;
340 enum BTN_0 = 0x100;
341 enum BTN_1 = 0x101;
342 enum BTN_2 = 0x102;
343 enum BTN_3 = 0x103;
344 enum BTN_4 = 0x104;
345 enum BTN_5 = 0x105;
346 enum BTN_6 = 0x106;
347 enum BTN_7 = 0x107;
348 enum BTN_8 = 0x108;
349 enum BTN_9 = 0x109;
350 
351 enum BTN_MOUSE = 0x110;
352 enum BTN_LEFT = 0x110;
353 enum BTN_RIGHT = 0x111;
354 enum BTN_MIDDLE = 0x112;
355 enum BTN_SIDE = 0x113;
356 enum BTN_EXTRA = 0x114;
357 enum BTN_FORWARD = 0x115;
358 enum BTN_BACK = 0x116;
359 enum BTN_TASK = 0x117;
360 
361 enum BTN_JOYSTICK = 0x120;
362 enum BTN_TRIGGER = 0x120;
363 enum BTN_THUMB = 0x121;
364 enum BTN_THUMB2 = 0x122;
365 enum BTN_TOP = 0x123;
366 enum BTN_TOP2 = 0x124;
367 enum BTN_PINKIE = 0x125;
368 enum BTN_BASE = 0x126;
369 enum BTN_BASE2 = 0x127;
370 enum BTN_BASE3 = 0x128;
371 enum BTN_BASE4 = 0x129;
372 enum BTN_BASE5 = 0x12a;
373 enum BTN_BASE6 = 0x12b;
374 enum BTN_DEAD = 0x12f;
375 
376 enum BTN_GAMEPAD = 0x130;
377 enum BTN_SOUTH = 0x130;
378 enum BTN_A = BTN_SOUTH;
379 enum BTN_EAST = 0x131;
380 enum BTN_B = BTN_EAST;
381 enum BTN_C = 0x132;
382 enum BTN_NORTH = 0x133;
383 enum BTN_X = BTN_NORTH;
384 enum BTN_WEST = 0x134;
385 enum BTN_Y = BTN_WEST;
386 enum BTN_Z = 0x135;
387 enum BTN_TL = 0x136;
388 enum BTN_TR = 0x137;
389 enum BTN_TL2 = 0x138;
390 enum BTN_TR2 = 0x139;
391 enum BTN_SELECT = 0x13a;
392 enum BTN_START = 0x13b;
393 enum BTN_MODE = 0x13c;
394 enum BTN_THUMBL = 0x13d;
395 enum BTN_THUMBR = 0x13e;
396 
397 enum BTN_DIGI = 0x140;
398 enum BTN_TOOL_PEN = 0x140;
399 enum BTN_TOOL_RUBBER = 0x141;
400 enum BTN_TOOL_BRUSH = 0x142;
401 enum BTN_TOOL_PENCIL = 0x143;
402 enum BTN_TOOL_AIRBRUSH = 0x144;
403 enum BTN_TOOL_FINGER = 0x145;
404 enum BTN_TOOL_MOUSE = 0x146;
405 enum BTN_TOOL_LENS = 0x147;
406 enum BTN_TOOL_QUINTTAP = 0x148;
407 enum BTN_TOUCH = 0x14a;
408 enum BTN_STYLUS = 0x14b;
409 enum BTN_STYLUS2 = 0x14c;
410 enum BTN_TOOL_DOUBLETAP = 0x14d;
411 enum BTN_TOOL_TRIPLETAP = 0x14e;
412 enum BTN_TOOL_QUADTAP = 0x14f;
413 
414 enum BTN_WHEEL = 0x150;
415 enum BTN_GEAR_DOWN = 0x150;
416 enum BTN_GEAR_UP = 0x151;
417 
418 enum KEY_OK = 0x160;
419 enum KEY_SELECT = 0x161;
420 enum KEY_GOTO = 0x162;
421 enum KEY_CLEAR = 0x163;
422 enum KEY_POWER2 = 0x164;
423 enum KEY_OPTION = 0x165;
424 enum KEY_INFO = 0x166;
425 enum KEY_TIME = 0x167;
426 enum KEY_VENDOR = 0x168;
427 enum KEY_ARCHIVE = 0x169;
428 enum KEY_PROGRAM = 0x16a;
429 enum KEY_CHANNEL = 0x16b;
430 enum KEY_FAVORITES = 0x16c;
431 enum KEY_EPG = 0x16d;
432 enum KEY_PVR = 0x16e;
433 enum KEY_MHP = 0x16f;
434 enum KEY_LANGUAGE = 0x170;
435 enum KEY_TITLE = 0x171;
436 enum KEY_SUBTITLE = 0x172;
437 enum KEY_ANGLE = 0x173;
438 enum KEY_ZOOM = 0x174;
439 enum KEY_MODE = 0x175;
440 enum KEY_KEYBOARD = 0x176;
441 enum KEY_SCREEN = 0x177;
442 enum KEY_PC = 0x178;
443 enum KEY_TV = 0x179;
444 enum KEY_TV2 = 0x17a;
445 enum KEY_VCR = 0x17b;
446 enum KEY_VCR2 = 0x17c;
447 enum KEY_SAT = 0x17d;
448 enum KEY_SAT2 = 0x17e;
449 enum KEY_CD = 0x17f;
450 enum KEY_TAPE = 0x180;
451 enum KEY_RADIO = 0x181;
452 enum KEY_TUNER = 0x182;
453 enum KEY_PLAYER = 0x183;
454 enum KEY_TEXT = 0x184;
455 enum KEY_DVD = 0x185;
456 enum KEY_AUX = 0x186;
457 enum KEY_MP3 = 0x187;
458 enum KEY_AUDIO = 0x188;
459 enum KEY_VIDEO = 0x189;
460 enum KEY_DIRECTORY = 0x18a;
461 enum KEY_LIST = 0x18b;
462 enum KEY_MEMO = 0x18c;
463 enum KEY_CALENDAR = 0x18d;
464 enum KEY_RED = 0x18e;
465 enum KEY_GREEN = 0x18f;
466 enum KEY_YELLOW = 0x190;
467 enum KEY_BLUE = 0x191;
468 enum KEY_CHANNELUP = 0x192;
469 enum KEY_CHANNELDOWN = 0x193;
470 enum KEY_FIRST = 0x194;
471 enum KEY_LAST = 0x195;
472 enum KEY_AB = 0x196;
473 enum KEY_NEXT = 0x197;
474 enum KEY_RESTART = 0x198;
475 enum KEY_SLOW = 0x199;
476 enum KEY_SHUFFLE = 0x19a;
477 enum KEY_BREAK = 0x19b;
478 enum KEY_PREVIOUS = 0x19c;
479 enum KEY_DIGITS = 0x19d;
480 enum KEY_TEEN = 0x19e;
481 enum KEY_TWEN = 0x19f;
482 enum KEY_VIDEOPHONE = 0x1a0;
483 enum KEY_GAMES = 0x1a1;
484 enum KEY_ZOOMIN = 0x1a2;
485 enum KEY_ZOOMOUT = 0x1a3;
486 enum KEY_ZOOMRESET = 0x1a4;
487 enum KEY_WORDPROCESSOR = 0x1a5;
488 enum KEY_EDITOR = 0x1a6;
489 enum KEY_SPREADSHEET = 0x1a7;
490 enum KEY_GRAPHICSEDITOR = 0x1a8;
491 enum KEY_PRESENTATION = 0x1a9;
492 enum KEY_DATABASE = 0x1aa;
493 enum KEY_NEWS = 0x1ab;
494 enum KEY_VOICEMAIL = 0x1ac;
495 enum KEY_ADDRESSBOOK = 0x1ad;
496 enum KEY_MESSENGER = 0x1ae;
497 enum KEY_DISPLAYTOGGLE = 0x1af;
498 enum KEY_BRIGHTNESS_TOGGLE = KEY_DISPLAYTOGGLE;
499 enum KEY_SPELLCHECK = 0x1b0;
500 enum KEY_LOGOFF = 0x1b1;
501 
502 enum KEY_DOLLAR = 0x1b2;
503 enum KEY_EURO = 0x1b3;
504 
505 enum KEY_FRAMEBACK = 0x1b4;
506 enum KEY_FRAMEFORWARD = 0x1b5;
507 enum KEY_CONTEXT_MENU = 0x1b6;
508 enum KEY_MEDIA_REPEAT = 0x1b7;
509 enum KEY_10CHANNELSUP = 0x1b8;
510 enum KEY_10CHANNELSDOWN = 0x1b9;
511 enum KEY_IMAGES = 0x1ba;
512 
513 enum KEY_DEL_EOL = 0x1c0;
514 enum KEY_DEL_EOS = 0x1c1;
515 enum KEY_INS_LINE = 0x1c2;
516 enum KEY_DEL_LINE = 0x1c3;
517 
518 enum KEY_FN = 0x1d0;
519 enum KEY_FN_ESC = 0x1d1;
520 enum KEY_FN_F1 = 0x1d2;
521 enum KEY_FN_F2 = 0x1d3;
522 enum KEY_FN_F3 = 0x1d4;
523 enum KEY_FN_F4 = 0x1d5;
524 enum KEY_FN_F5 = 0x1d6;
525 enum KEY_FN_F6 = 0x1d7;
526 enum KEY_FN_F7 = 0x1d8;
527 enum KEY_FN_F8 = 0x1d9;
528 enum KEY_FN_F9 = 0x1da;
529 enum KEY_FN_F10 = 0x1db;
530 enum KEY_FN_F11 = 0x1dc;
531 enum KEY_FN_F12 = 0x1dd;
532 enum KEY_FN_1 = 0x1de;
533 enum KEY_FN_2 = 0x1df;
534 enum KEY_FN_D = 0x1e0;
535 enum KEY_FN_E = 0x1e1;
536 enum KEY_FN_F = 0x1e2;
537 enum KEY_FN_S = 0x1e3;
538 enum KEY_FN_B = 0x1e4;
539 
540 enum KEY_BRL_DOT1 = 0x1f1;
541 enum KEY_BRL_DOT2 = 0x1f2;
542 enum KEY_BRL_DOT3 = 0x1f3;
543 enum KEY_BRL_DOT4 = 0x1f4;
544 enum KEY_BRL_DOT5 = 0x1f5;
545 enum KEY_BRL_DOT6 = 0x1f6;
546 enum KEY_BRL_DOT7 = 0x1f7;
547 enum KEY_BRL_DOT8 = 0x1f8;
548 enum KEY_BRL_DOT9 = 0x1f9;
549 enum KEY_BRL_DOT10 = 0x1fa;
550 
551 enum KEY_NUMERIC_0 = 0x200;
552 enum KEY_NUMERIC_1 = 0x201;
553 enum KEY_NUMERIC_2 = 0x202;
554 enum KEY_NUMERIC_3 = 0x203;
555 enum KEY_NUMERIC_4 = 0x204;
556 enum KEY_NUMERIC_5 = 0x205;
557 enum KEY_NUMERIC_6 = 0x206;
558 enum KEY_NUMERIC_7 = 0x207;
559 enum KEY_NUMERIC_8 = 0x208;
560 enum KEY_NUMERIC_9 = 0x209;
561 enum KEY_NUMERIC_STAR = 0x20a;
562 enum KEY_NUMERIC_POUND = 0x20b;
563 enum KEY_NUMERIC_A = 0x20c;
564 enum KEY_NUMERIC_B = 0x20d;
565 enum KEY_NUMERIC_C = 0x20e;
566 enum KEY_NUMERIC_D = 0x20f;
567 
568 enum KEY_CAMERA_FOCUS = 0x210;
569 enum KEY_WPS_BUTTON = 0x211;
570 
571 enum KEY_TOUCHPAD_TOGGLE = 0x212;
572 enum KEY_TOUCHPAD_ON = 0x213;
573 enum KEY_TOUCHPAD_OFF = 0x214;
574 
575 enum KEY_CAMERA_ZOOMIN = 0x215;
576 enum KEY_CAMERA_ZOOMOUT = 0x216;
577 enum KEY_CAMERA_UP = 0x217;
578 enum KEY_CAMERA_DOWN = 0x218;
579 enum KEY_CAMERA_LEFT = 0x219;
580 enum KEY_CAMERA_RIGHT = 0x21a;
581 
582 enum KEY_ATTENDANT_ON = 0x21b;
583 enum KEY_ATTENDANT_OFF = 0x21c;
584 enum KEY_ATTENDANT_TOGGLE = 0x21d;
585 enum KEY_LIGHTS_TOGGLE = 0x21e;
586 
587 enum BTN_DPAD_UP = 0x220;
588 enum BTN_DPAD_DOWN = 0x221;
589 enum BTN_DPAD_LEFT = 0x222;
590 enum BTN_DPAD_RIGHT = 0x223;
591 
592 enum KEY_ALS_TOGGLE = 0x230;
593 
594 enum KEY_BUTTONCONFIG = 0x240;
595 enum KEY_TASKMANAGER = 0x241;
596 enum KEY_JOURNAL = 0x242;
597 enum KEY_CONTROLPANEL = 0x243;
598 enum KEY_APPSELECT = 0x244;
599 enum KEY_SCREENSAVER = 0x245;
600 enum KEY_VOICECOMMAND = 0x246;
601 
602 enum KEY_BRIGHTNESS_MIN = 0x250;
603 enum KEY_BRIGHTNESS_MAX = 0x251;
604 
605 enum KEY_KBDINPUTASSIST_PREV = 0x260;
606 enum KEY_KBDINPUTASSIST_NEXT = 0x261;
607 enum KEY_KBDINPUTASSIST_PREVGROUP = 0x262;
608 enum KEY_KBDINPUTASSIST_NEXTGROUP = 0x263;
609 enum KEY_KBDINPUTASSIST_ACCEPT = 0x264;
610 enum KEY_KBDINPUTASSIST_CANCEL = 0x265;
611 
612 enum KEY_RIGHT_UP = 0x266;
613 enum KEY_RIGHT_DOWN = 0x267;
614 enum KEY_LEFT_UP = 0x268;
615 enum KEY_LEFT_DOWN = 0x269;
616 
617 enum KEY_ROOT_MENU = 0x26a;
618 
619 enum KEY_MEDIA_TOP_MENU = 0x26b;
620 enum KEY_NUMERIC_11 = 0x26c;
621 enum KEY_NUMERIC_12 = 0x26d;
622 
623 enum KEY_AUDIO_DESC = 0x26e;
624 enum KEY_3D_MODE = 0x26f;
625 enum KEY_NEXT_FAVORITE = 0x270;
626 enum KEY_STOP_RECORD = 0x271;
627 enum KEY_PAUSE_RECORD = 0x272;
628 enum KEY_VOD = 0x273;
629 enum KEY_UNMUTE = 0x274;
630 enum KEY_FASTREVERSE = 0x275;
631 enum KEY_SLOWREVERSE = 0x276;
632 
633 enum KEY_DATA = 0x277;
634 
635 enum BTN_TRIGGER_HAPPY = 0x2c0;
636 enum BTN_TRIGGER_HAPPY1 = 0x2c0;
637 enum BTN_TRIGGER_HAPPY2 = 0x2c1;
638 enum BTN_TRIGGER_HAPPY3 = 0x2c2;
639 enum BTN_TRIGGER_HAPPY4 = 0x2c3;
640 enum BTN_TRIGGER_HAPPY5 = 0x2c4;
641 enum BTN_TRIGGER_HAPPY6 = 0x2c5;
642 enum BTN_TRIGGER_HAPPY7 = 0x2c6;
643 enum BTN_TRIGGER_HAPPY8 = 0x2c7;
644 enum BTN_TRIGGER_HAPPY9 = 0x2c8;
645 enum BTN_TRIGGER_HAPPY10 = 0x2c9;
646 enum BTN_TRIGGER_HAPPY11 = 0x2ca;
647 enum BTN_TRIGGER_HAPPY12 = 0x2cb;
648 enum BTN_TRIGGER_HAPPY13 = 0x2cc;
649 enum BTN_TRIGGER_HAPPY14 = 0x2cd;
650 enum BTN_TRIGGER_HAPPY15 = 0x2ce;
651 enum BTN_TRIGGER_HAPPY16 = 0x2cf;
652 enum BTN_TRIGGER_HAPPY17 = 0x2d0;
653 enum BTN_TRIGGER_HAPPY18 = 0x2d1;
654 enum BTN_TRIGGER_HAPPY19 = 0x2d2;
655 enum BTN_TRIGGER_HAPPY20 = 0x2d3;
656 enum BTN_TRIGGER_HAPPY21 = 0x2d4;
657 enum BTN_TRIGGER_HAPPY22 = 0x2d5;
658 enum BTN_TRIGGER_HAPPY23 = 0x2d6;
659 enum BTN_TRIGGER_HAPPY24 = 0x2d7;
660 enum BTN_TRIGGER_HAPPY25 = 0x2d8;
661 enum BTN_TRIGGER_HAPPY26 = 0x2d9;
662 enum BTN_TRIGGER_HAPPY27 = 0x2da;
663 enum BTN_TRIGGER_HAPPY28 = 0x2db;
664 enum BTN_TRIGGER_HAPPY29 = 0x2dc;
665 enum BTN_TRIGGER_HAPPY30 = 0x2dd;
666 enum BTN_TRIGGER_HAPPY31 = 0x2de;
667 enum BTN_TRIGGER_HAPPY32 = 0x2df;
668 enum BTN_TRIGGER_HAPPY33 = 0x2e0;
669 enum BTN_TRIGGER_HAPPY34 = 0x2e1;
670 enum BTN_TRIGGER_HAPPY35 = 0x2e2;
671 enum BTN_TRIGGER_HAPPY36 = 0x2e3;
672 enum BTN_TRIGGER_HAPPY37 = 0x2e4;
673 enum BTN_TRIGGER_HAPPY38 = 0x2e5;
674 enum BTN_TRIGGER_HAPPY39 = 0x2e6;
675 enum BTN_TRIGGER_HAPPY40 = 0x2e7;
676 
677 
678 enum KEY_MIN_INTERESTING = KEY_MUTE;
679 enum KEY_MAX = 0x2ff;
680 enum KEY_CNT = (KEY_MAX+1);
681 
682 enum REL_X = 0x00;
683 enum REL_Y = 0x01;
684 enum REL_Z = 0x02;
685 enum REL_RX = 0x03;
686 enum REL_RY = 0x04;
687 enum REL_RZ = 0x05;
688 enum REL_HWHEEL = 0x06;
689 enum REL_DIAL = 0x07;
690 enum REL_WHEEL = 0x08;
691 enum REL_MISC = 0x09;
692 enum REL_MAX = 0x0f;
693 enum REL_CNT = (REL_MAX+1);
694 enum ABS_X = 0x00;
695 enum ABS_Y = 0x01;
696 enum ABS_Z = 0x02;
697 enum ABS_RX = 0x03;
698 enum ABS_RY = 0x04;
699 enum ABS_RZ = 0x05;
700 enum ABS_THROTTLE = 0x06;
701 enum ABS_RUDDER = 0x07;
702 enum ABS_WHEEL = 0x08;
703 enum ABS_GAS = 0x09;
704 enum ABS_BRAKE = 0x0a;
705 enum ABS_HAT0X = 0x10;
706 enum ABS_HAT0Y = 0x11;
707 enum ABS_HAT1X = 0x12;
708 enum ABS_HAT1Y = 0x13;
709 enum ABS_HAT2X = 0x14;
710 enum ABS_HAT2Y = 0x15;
711 enum ABS_HAT3X = 0x16;
712 enum ABS_HAT3Y = 0x17;
713 enum ABS_PRESSURE = 0x18;
714 enum ABS_DISTANCE = 0x19;
715 enum ABS_TILT_X = 0x1a;
716 enum ABS_TILT_Y = 0x1b;
717 enum ABS_TOOL_WIDTH = 0x1c;
718 
719 enum ABS_VOLUME = 0x20;
720 
721 enum ABS_MISC = 0x28;
722 
723 enum ABS_RESERVED = 0x2e;
724 
725 enum ABS_MT_SLOT = 0x2f;
726 enum ABS_MT_TOUCH_MAJOR = 0x30;
727 enum ABS_MT_TOUCH_MINOR = 0x31;
728 enum ABS_MT_WIDTH_MAJOR = 0x32;
729 enum ABS_MT_WIDTH_MINOR = 0x33;
730 enum ABS_MT_ORIENTATION = 0x34;
731 enum ABS_MT_POSITION_X = 0x35;
732 enum ABS_MT_POSITION_Y = 0x36;
733 enum ABS_MT_TOOL_TYPE = 0x37;
734 enum ABS_MT_BLOB_ID = 0x38;
735 enum ABS_MT_TRACKING_ID = 0x39;
736 enum ABS_MT_PRESSURE = 0x3a;
737 enum ABS_MT_DISTANCE = 0x3b;
738 enum ABS_MT_TOOL_X = 0x3c;
739 enum ABS_MT_TOOL_Y = 0x3d;
740 
741 enum ABS_MAX = 0x3f;
742 enum ABS_CNT = (ABS_MAX+1);
743 
744 enum SW_LID = 0x00;
745 enum SW_TABLET_MODE = 0x01;
746 enum SW_HEADPHONE_INSERT = 0x02;
747 enum SW_RFKILL_ALL = 0x03;
748 enum SW_RADIO = SW_RFKILL_ALL;
749 enum SW_MICROPHONE_INSERT = 0x04;
750 enum SW_DOCK = 0x05;
751 enum SW_LINEOUT_INSERT = 0x06;
752 enum SW_JACK_PHYSICAL_INSERT = 0x07;
753 enum SW_VIDEOOUT_INSERT = 0x08;
754 enum SW_CAMERA_LENS_COVER = 0x09;
755 enum SW_KEYPAD_SLIDE = 0x0a;
756 enum SW_FRONT_PROXIMITY = 0x0b;
757 enum SW_ROTATE_LOCK = 0x0c;
758 enum SW_LINEIN_INSERT = 0x0d;
759 enum SW_MUTE_DEVICE = 0x0e;
760 enum SW_PEN_INSERTED = 0x0f;
761 enum SW_MAX = 0x0f;
762 enum SW_CNT = (SW_MAX+1);
763 
764 enum MSC_SERIAL = 0x00;
765 enum MSC_PULSELED = 0x01;
766 enum MSC_GESTURE = 0x02;
767 enum MSC_RAW = 0x03;
768 enum MSC_SCAN = 0x04;
769 enum MSC_TIMESTAMP = 0x05;
770 enum MSC_MAX = 0x07;
771 enum MSC_CNT = (MSC_MAX+1);
772 
773 enum LED_NUML = 0x00;
774 enum LED_CAPSL = 0x01;
775 enum LED_SCROLLL = 0x02;
776 enum LED_COMPOSE = 0x03;
777 enum LED_KANA = 0x04;
778 enum LED_SLEEP = 0x05;
779 enum LED_SUSPEND = 0x06;
780 enum LED_MUTE = 0x07;
781 enum LED_MISC = 0x08;
782 enum LED_MAIL = 0x09;
783 enum LED_CHARGING = 0x0a;
784 enum LED_MAX = 0x0f;
785 enum LED_CNT = (LED_MAX+1);
786 
787 enum REP_DELAY = 0x00;
788 enum REP_PERIOD = 0x01;
789 enum REP_MAX = 0x01;
790 enum REP_CNT = (REP_MAX+1);
791 
792 enum SND_CLICK = 0x00;
793 enum SND_BELL = 0x01;
794 enum SND_TONE = 0x02;
795 enum SND_MAX = 0x07;
796 enum SND_CNT = (SND_MAX+1);