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