blob: 2b7620913a942b93324ca3565faaf7c6cfb06c26 [file] [log] [blame]
Jeff Brownf8754332011-06-15 17:44:52 -07001#include <linux/input.h>
2
3struct label {
4 const char *name;
5 int value;
6};
7
8#define LABEL(constant) { #constant, constant }
9#define LABEL_END { NULL, -1 }
10
11static struct label input_prop_labels[] = {
12 LABEL(INPUT_PROP_POINTER),
13 LABEL(INPUT_PROP_DIRECT),
14 LABEL(INPUT_PROP_BUTTONPAD),
15 LABEL(INPUT_PROP_SEMI_MT),
16 LABEL_END,
17};
18
19static struct label ev_labels[] = {
20 LABEL(EV_SYN),
21 LABEL(EV_KEY),
22 LABEL(EV_REL),
23 LABEL(EV_ABS),
24 LABEL(EV_MSC),
25 LABEL(EV_SW),
26 LABEL(EV_LED),
27 LABEL(EV_SND),
28 LABEL(EV_REP),
29 LABEL(EV_FF),
30 LABEL(EV_PWR),
31 LABEL(EV_FF_STATUS),
32 LABEL_END,
33};
34
35static struct label syn_labels[] = {
36 LABEL(SYN_REPORT),
37 LABEL(SYN_CONFIG),
38 LABEL(SYN_MT_REPORT),
39 LABEL(SYN_DROPPED),
40 LABEL_END,
41};
42
43static struct label key_labels[] = {
44 LABEL(KEY_RESERVED),
45 LABEL(KEY_ESC),
46 LABEL(KEY_1),
47 LABEL(KEY_2),
48 LABEL(KEY_3),
49 LABEL(KEY_4),
50 LABEL(KEY_5),
51 LABEL(KEY_6),
52 LABEL(KEY_7),
53 LABEL(KEY_8),
54 LABEL(KEY_9),
55 LABEL(KEY_0),
56 LABEL(KEY_MINUS),
57 LABEL(KEY_EQUAL),
58 LABEL(KEY_BACKSPACE),
59 LABEL(KEY_TAB),
60 LABEL(KEY_Q),
61 LABEL(KEY_W),
62 LABEL(KEY_E),
63 LABEL(KEY_R),
64 LABEL(KEY_T),
65 LABEL(KEY_Y),
66 LABEL(KEY_U),
67 LABEL(KEY_I),
68 LABEL(KEY_O),
69 LABEL(KEY_P),
70 LABEL(KEY_LEFTBRACE),
71 LABEL(KEY_RIGHTBRACE),
72 LABEL(KEY_ENTER),
73 LABEL(KEY_LEFTCTRL),
74 LABEL(KEY_A),
75 LABEL(KEY_S),
76 LABEL(KEY_D),
77 LABEL(KEY_F),
78 LABEL(KEY_G),
79 LABEL(KEY_H),
80 LABEL(KEY_J),
81 LABEL(KEY_K),
82 LABEL(KEY_L),
83 LABEL(KEY_SEMICOLON),
84 LABEL(KEY_APOSTROPHE),
85 LABEL(KEY_GRAVE),
86 LABEL(KEY_LEFTSHIFT),
87 LABEL(KEY_BACKSLASH),
88 LABEL(KEY_Z),
89 LABEL(KEY_X),
90 LABEL(KEY_C),
91 LABEL(KEY_V),
92 LABEL(KEY_B),
93 LABEL(KEY_N),
94 LABEL(KEY_M),
95 LABEL(KEY_COMMA),
96 LABEL(KEY_DOT),
97 LABEL(KEY_SLASH),
98 LABEL(KEY_RIGHTSHIFT),
99 LABEL(KEY_KPASTERISK),
100 LABEL(KEY_LEFTALT),
101 LABEL(KEY_SPACE),
102 LABEL(KEY_CAPSLOCK),
103 LABEL(KEY_F1),
104 LABEL(KEY_F2),
105 LABEL(KEY_F3),
106 LABEL(KEY_F4),
107 LABEL(KEY_F5),
108 LABEL(KEY_F6),
109 LABEL(KEY_F7),
110 LABEL(KEY_F8),
111 LABEL(KEY_F9),
112 LABEL(KEY_F10),
113 LABEL(KEY_NUMLOCK),
114 LABEL(KEY_SCROLLLOCK),
115 LABEL(KEY_KP7),
116 LABEL(KEY_KP8),
117 LABEL(KEY_KP9),
118 LABEL(KEY_KPMINUS),
119 LABEL(KEY_KP4),
120 LABEL(KEY_KP5),
121 LABEL(KEY_KP6),
122 LABEL(KEY_KPPLUS),
123 LABEL(KEY_KP1),
124 LABEL(KEY_KP2),
125 LABEL(KEY_KP3),
126 LABEL(KEY_KP0),
127 LABEL(KEY_KPDOT),
128 LABEL(KEY_ZENKAKUHANKAKU),
129 LABEL(KEY_102ND),
130 LABEL(KEY_F11),
131 LABEL(KEY_F12),
132 LABEL(KEY_RO),
133 LABEL(KEY_KATAKANA),
134 LABEL(KEY_HIRAGANA),
135 LABEL(KEY_HENKAN),
136 LABEL(KEY_KATAKANAHIRAGANA),
137 LABEL(KEY_MUHENKAN),
138 LABEL(KEY_KPJPCOMMA),
139 LABEL(KEY_KPENTER),
140 LABEL(KEY_RIGHTCTRL),
141 LABEL(KEY_KPSLASH),
142 LABEL(KEY_SYSRQ),
143 LABEL(KEY_RIGHTALT),
144 LABEL(KEY_LINEFEED),
145 LABEL(KEY_HOME),
146 LABEL(KEY_UP),
147 LABEL(KEY_PAGEUP),
148 LABEL(KEY_LEFT),
149 LABEL(KEY_RIGHT),
150 LABEL(KEY_END),
151 LABEL(KEY_DOWN),
152 LABEL(KEY_PAGEDOWN),
153 LABEL(KEY_INSERT),
154 LABEL(KEY_DELETE),
155 LABEL(KEY_MACRO),
156 LABEL(KEY_MUTE),
157 LABEL(KEY_VOLUMEDOWN),
158 LABEL(KEY_VOLUMEUP),
159 LABEL(KEY_POWER),
160 LABEL(KEY_KPEQUAL),
161 LABEL(KEY_KPPLUSMINUS),
162 LABEL(KEY_PAUSE),
163 LABEL(KEY_SCALE),
164 LABEL(KEY_KPCOMMA),
165 LABEL(KEY_HANGEUL),
166 LABEL(KEY_HANGUEL),
167 LABEL(KEY_HANJA),
168 LABEL(KEY_YEN),
169 LABEL(KEY_LEFTMETA),
170 LABEL(KEY_RIGHTMETA),
171 LABEL(KEY_COMPOSE),
172 LABEL(KEY_STOP),
173 LABEL(KEY_AGAIN),
174 LABEL(KEY_PROPS),
175 LABEL(KEY_UNDO),
176 LABEL(KEY_FRONT),
177 LABEL(KEY_COPY),
178 LABEL(KEY_OPEN),
179 LABEL(KEY_PASTE),
180 LABEL(KEY_FIND),
181 LABEL(KEY_CUT),
182 LABEL(KEY_HELP),
183 LABEL(KEY_MENU),
184 LABEL(KEY_CALC),
185 LABEL(KEY_SETUP),
186 LABEL(KEY_SLEEP),
187 LABEL(KEY_WAKEUP),
188 LABEL(KEY_FILE),
189 LABEL(KEY_SENDFILE),
190 LABEL(KEY_DELETEFILE),
191 LABEL(KEY_XFER),
192 LABEL(KEY_PROG1),
193 LABEL(KEY_PROG2),
194 LABEL(KEY_WWW),
195 LABEL(KEY_MSDOS),
196 LABEL(KEY_COFFEE),
197 LABEL(KEY_SCREENLOCK),
198 LABEL(KEY_DIRECTION),
199 LABEL(KEY_CYCLEWINDOWS),
200 LABEL(KEY_MAIL),
201 LABEL(KEY_BOOKMARKS),
202 LABEL(KEY_COMPUTER),
203 LABEL(KEY_BACK),
204 LABEL(KEY_FORWARD),
205 LABEL(KEY_CLOSECD),
206 LABEL(KEY_EJECTCD),
207 LABEL(KEY_EJECTCLOSECD),
208 LABEL(KEY_NEXTSONG),
209 LABEL(KEY_PLAYPAUSE),
210 LABEL(KEY_PREVIOUSSONG),
211 LABEL(KEY_STOPCD),
212 LABEL(KEY_RECORD),
213 LABEL(KEY_REWIND),
214 LABEL(KEY_PHONE),
215 LABEL(KEY_ISO),
216 LABEL(KEY_CONFIG),
217 LABEL(KEY_HOMEPAGE),
218 LABEL(KEY_REFRESH),
219 LABEL(KEY_EXIT),
220 LABEL(KEY_MOVE),
221 LABEL(KEY_EDIT),
222 LABEL(KEY_SCROLLUP),
223 LABEL(KEY_SCROLLDOWN),
224 LABEL(KEY_KPLEFTPAREN),
225 LABEL(KEY_KPRIGHTPAREN),
226 LABEL(KEY_NEW),
227 LABEL(KEY_REDO),
228 LABEL(KEY_F13),
229 LABEL(KEY_F14),
230 LABEL(KEY_F15),
231 LABEL(KEY_F16),
232 LABEL(KEY_F17),
233 LABEL(KEY_F18),
234 LABEL(KEY_F19),
235 LABEL(KEY_F20),
236 LABEL(KEY_F21),
237 LABEL(KEY_F22),
238 LABEL(KEY_F23),
239 LABEL(KEY_F24),
240 LABEL(KEY_PLAYCD),
241 LABEL(KEY_PAUSECD),
242 LABEL(KEY_PROG3),
243 LABEL(KEY_PROG4),
244 LABEL(KEY_DASHBOARD),
245 LABEL(KEY_SUSPEND),
246 LABEL(KEY_CLOSE),
247 LABEL(KEY_PLAY),
248 LABEL(KEY_FASTFORWARD),
249 LABEL(KEY_BASSBOOST),
250 LABEL(KEY_PRINT),
251 LABEL(KEY_HP),
252 LABEL(KEY_CAMERA),
253 LABEL(KEY_SOUND),
254 LABEL(KEY_QUESTION),
255 LABEL(KEY_EMAIL),
256 LABEL(KEY_CHAT),
257 LABEL(KEY_SEARCH),
258 LABEL(KEY_CONNECT),
259 LABEL(KEY_FINANCE),
260 LABEL(KEY_SPORT),
261 LABEL(KEY_SHOP),
262 LABEL(KEY_ALTERASE),
263 LABEL(KEY_CANCEL),
264 LABEL(KEY_BRIGHTNESSDOWN),
265 LABEL(KEY_BRIGHTNESSUP),
266 LABEL(KEY_MEDIA),
267 LABEL(KEY_SWITCHVIDEOMODE),
268 LABEL(KEY_KBDILLUMTOGGLE),
269 LABEL(KEY_KBDILLUMDOWN),
270 LABEL(KEY_KBDILLUMUP),
271 LABEL(KEY_SEND),
272 LABEL(KEY_REPLY),
273 LABEL(KEY_FORWARDMAIL),
274 LABEL(KEY_SAVE),
275 LABEL(KEY_DOCUMENTS),
276 LABEL(KEY_BATTERY),
277 LABEL(KEY_BLUETOOTH),
278 LABEL(KEY_WLAN),
279 LABEL(KEY_UWB),
280 LABEL(KEY_UNKNOWN),
281 LABEL(KEY_VIDEO_NEXT),
282 LABEL(KEY_VIDEO_PREV),
283 LABEL(KEY_BRIGHTNESS_CYCLE),
284 LABEL(KEY_BRIGHTNESS_ZERO),
285 LABEL(KEY_DISPLAY_OFF),
286 LABEL(KEY_WIMAX),
287 LABEL(KEY_RFKILL),
288 LABEL(BTN_0),
289 LABEL(BTN_1),
290 LABEL(BTN_2),
291 LABEL(BTN_3),
292 LABEL(BTN_4),
293 LABEL(BTN_5),
294 LABEL(BTN_6),
295 LABEL(BTN_7),
296 LABEL(BTN_8),
297 LABEL(BTN_9),
298 LABEL(BTN_LEFT),
299 LABEL(BTN_RIGHT),
300 LABEL(BTN_MIDDLE),
301 LABEL(BTN_SIDE),
302 LABEL(BTN_EXTRA),
303 LABEL(BTN_FORWARD),
304 LABEL(BTN_BACK),
305 LABEL(BTN_TASK),
306 LABEL(BTN_JOYSTICK),
307 LABEL(BTN_TRIGGER),
308 LABEL(BTN_THUMB),
309 LABEL(BTN_THUMB2),
310 LABEL(BTN_TOP),
311 LABEL(BTN_TOP2),
312 LABEL(BTN_PINKIE),
313 LABEL(BTN_BASE),
314 LABEL(BTN_BASE2),
315 LABEL(BTN_BASE3),
316 LABEL(BTN_BASE4),
317 LABEL(BTN_BASE5),
318 LABEL(BTN_BASE6),
319 LABEL(BTN_DEAD),
320 LABEL(BTN_A),
321 LABEL(BTN_B),
322 LABEL(BTN_C),
323 LABEL(BTN_X),
324 LABEL(BTN_Y),
325 LABEL(BTN_Z),
326 LABEL(BTN_TL),
327 LABEL(BTN_TR),
328 LABEL(BTN_TL2),
329 LABEL(BTN_TR2),
330 LABEL(BTN_SELECT),
331 LABEL(BTN_START),
332 LABEL(BTN_MODE),
333 LABEL(BTN_THUMBL),
334 LABEL(BTN_THUMBR),
335 LABEL(BTN_TOOL_PEN),
336 LABEL(BTN_TOOL_RUBBER),
337 LABEL(BTN_TOOL_BRUSH),
338 LABEL(BTN_TOOL_PENCIL),
339 LABEL(BTN_TOOL_AIRBRUSH),
340 LABEL(BTN_TOOL_FINGER),
341 LABEL(BTN_TOOL_MOUSE),
342 LABEL(BTN_TOOL_LENS),
343 LABEL(BTN_TOUCH),
344 LABEL(BTN_STYLUS),
345 LABEL(BTN_STYLUS2),
346 LABEL(BTN_TOOL_DOUBLETAP),
347 LABEL(BTN_TOOL_TRIPLETAP),
348 LABEL(BTN_TOOL_QUADTAP),
349 LABEL(BTN_GEAR_DOWN),
350 LABEL(BTN_GEAR_UP),
351 LABEL(KEY_OK),
352 LABEL(KEY_SELECT),
353 LABEL(KEY_GOTO),
354 LABEL(KEY_CLEAR),
355 LABEL(KEY_POWER2),
356 LABEL(KEY_OPTION),
357 LABEL(KEY_INFO),
358 LABEL(KEY_TIME),
359 LABEL(KEY_VENDOR),
360 LABEL(KEY_ARCHIVE),
361 LABEL(KEY_PROGRAM),
362 LABEL(KEY_CHANNEL),
363 LABEL(KEY_FAVORITES),
364 LABEL(KEY_EPG),
365 LABEL(KEY_PVR),
366 LABEL(KEY_MHP),
367 LABEL(KEY_LANGUAGE),
368 LABEL(KEY_TITLE),
369 LABEL(KEY_SUBTITLE),
370 LABEL(KEY_ANGLE),
371 LABEL(KEY_ZOOM),
372 LABEL(KEY_MODE),
373 LABEL(KEY_KEYBOARD),
374 LABEL(KEY_SCREEN),
375 LABEL(KEY_PC),
376 LABEL(KEY_TV),
377 LABEL(KEY_TV2),
378 LABEL(KEY_VCR),
379 LABEL(KEY_VCR2),
380 LABEL(KEY_SAT),
381 LABEL(KEY_SAT2),
382 LABEL(KEY_CD),
383 LABEL(KEY_TAPE),
384 LABEL(KEY_RADIO),
385 LABEL(KEY_TUNER),
386 LABEL(KEY_PLAYER),
387 LABEL(KEY_TEXT),
388 LABEL(KEY_DVD),
389 LABEL(KEY_AUX),
390 LABEL(KEY_MP3),
391 LABEL(KEY_AUDIO),
392 LABEL(KEY_VIDEO),
393 LABEL(KEY_DIRECTORY),
394 LABEL(KEY_LIST),
395 LABEL(KEY_MEMO),
396 LABEL(KEY_CALENDAR),
397 LABEL(KEY_RED),
398 LABEL(KEY_GREEN),
399 LABEL(KEY_YELLOW),
400 LABEL(KEY_BLUE),
401 LABEL(KEY_CHANNELUP),
402 LABEL(KEY_CHANNELDOWN),
403 LABEL(KEY_FIRST),
404 LABEL(KEY_LAST),
405 LABEL(KEY_AB),
406 LABEL(KEY_NEXT),
407 LABEL(KEY_RESTART),
408 LABEL(KEY_SLOW),
409 LABEL(KEY_SHUFFLE),
410 LABEL(KEY_BREAK),
411 LABEL(KEY_PREVIOUS),
412 LABEL(KEY_DIGITS),
413 LABEL(KEY_TEEN),
414 LABEL(KEY_TWEN),
415 LABEL(KEY_VIDEOPHONE),
416 LABEL(KEY_GAMES),
417 LABEL(KEY_ZOOMIN),
418 LABEL(KEY_ZOOMOUT),
419 LABEL(KEY_ZOOMRESET),
420 LABEL(KEY_WORDPROCESSOR),
421 LABEL(KEY_EDITOR),
422 LABEL(KEY_SPREADSHEET),
423 LABEL(KEY_GRAPHICSEDITOR),
424 LABEL(KEY_PRESENTATION),
425 LABEL(KEY_DATABASE),
426 LABEL(KEY_NEWS),
427 LABEL(KEY_VOICEMAIL),
428 LABEL(KEY_ADDRESSBOOK),
429 LABEL(KEY_MESSENGER),
430 LABEL(KEY_DISPLAYTOGGLE),
431 LABEL(KEY_SPELLCHECK),
432 LABEL(KEY_LOGOFF),
433 LABEL(KEY_DOLLAR),
434 LABEL(KEY_EURO),
435 LABEL(KEY_FRAMEBACK),
436 LABEL(KEY_FRAMEFORWARD),
437 LABEL(KEY_CONTEXT_MENU),
438 LABEL(KEY_MEDIA_REPEAT),
439 LABEL(KEY_10CHANNELSUP),
440 LABEL(KEY_10CHANNELSDOWN),
441 LABEL(KEY_IMAGES),
442 LABEL(KEY_DEL_EOL),
443 LABEL(KEY_DEL_EOS),
444 LABEL(KEY_INS_LINE),
445 LABEL(KEY_DEL_LINE),
446 LABEL(KEY_FN),
447 LABEL(KEY_FN_ESC),
448 LABEL(KEY_FN_F1),
449 LABEL(KEY_FN_F2),
450 LABEL(KEY_FN_F3),
451 LABEL(KEY_FN_F4),
452 LABEL(KEY_FN_F5),
453 LABEL(KEY_FN_F6),
454 LABEL(KEY_FN_F7),
455 LABEL(KEY_FN_F8),
456 LABEL(KEY_FN_F9),
457 LABEL(KEY_FN_F10),
458 LABEL(KEY_FN_F11),
459 LABEL(KEY_FN_F12),
460 LABEL(KEY_FN_1),
461 LABEL(KEY_FN_2),
462 LABEL(KEY_FN_D),
463 LABEL(KEY_FN_E),
464 LABEL(KEY_FN_F),
465 LABEL(KEY_FN_S),
466 LABEL(KEY_FN_B),
467 LABEL(KEY_BRL_DOT1),
468 LABEL(KEY_BRL_DOT2),
469 LABEL(KEY_BRL_DOT3),
470 LABEL(KEY_BRL_DOT4),
471 LABEL(KEY_BRL_DOT5),
472 LABEL(KEY_BRL_DOT6),
473 LABEL(KEY_BRL_DOT7),
474 LABEL(KEY_BRL_DOT8),
475 LABEL(KEY_BRL_DOT9),
476 LABEL(KEY_BRL_DOT10),
477 LABEL(KEY_NUMERIC_0),
478 LABEL(KEY_NUMERIC_1),
479 LABEL(KEY_NUMERIC_2),
480 LABEL(KEY_NUMERIC_3),
481 LABEL(KEY_NUMERIC_4),
482 LABEL(KEY_NUMERIC_5),
483 LABEL(KEY_NUMERIC_6),
484 LABEL(KEY_NUMERIC_7),
485 LABEL(KEY_NUMERIC_8),
486 LABEL(KEY_NUMERIC_9),
487 LABEL(KEY_NUMERIC_STAR),
488 LABEL(KEY_NUMERIC_POUND),
489 LABEL(KEY_CAMERA_FOCUS),
490 LABEL(KEY_WPS_BUTTON),
491 LABEL(KEY_TOUCHPAD_TOGGLE),
492 LABEL(KEY_TOUCHPAD_ON),
493 LABEL(KEY_TOUCHPAD_OFF),
494 LABEL(KEY_CAMERA_ZOOMIN),
495 LABEL(KEY_CAMERA_ZOOMOUT),
496 LABEL(KEY_CAMERA_UP),
497 LABEL(KEY_CAMERA_DOWN),
498 LABEL(KEY_CAMERA_LEFT),
499 LABEL(KEY_CAMERA_RIGHT),
500 LABEL(BTN_TRIGGER_HAPPY1),
501 LABEL(BTN_TRIGGER_HAPPY2),
502 LABEL(BTN_TRIGGER_HAPPY3),
503 LABEL(BTN_TRIGGER_HAPPY4),
504 LABEL(BTN_TRIGGER_HAPPY5),
505 LABEL(BTN_TRIGGER_HAPPY6),
506 LABEL(BTN_TRIGGER_HAPPY7),
507 LABEL(BTN_TRIGGER_HAPPY8),
508 LABEL(BTN_TRIGGER_HAPPY9),
509 LABEL(BTN_TRIGGER_HAPPY10),
510 LABEL(BTN_TRIGGER_HAPPY11),
511 LABEL(BTN_TRIGGER_HAPPY12),
512 LABEL(BTN_TRIGGER_HAPPY13),
513 LABEL(BTN_TRIGGER_HAPPY14),
514 LABEL(BTN_TRIGGER_HAPPY15),
515 LABEL(BTN_TRIGGER_HAPPY16),
516 LABEL(BTN_TRIGGER_HAPPY17),
517 LABEL(BTN_TRIGGER_HAPPY18),
518 LABEL(BTN_TRIGGER_HAPPY19),
519 LABEL(BTN_TRIGGER_HAPPY20),
520 LABEL(BTN_TRIGGER_HAPPY21),
521 LABEL(BTN_TRIGGER_HAPPY22),
522 LABEL(BTN_TRIGGER_HAPPY23),
523 LABEL(BTN_TRIGGER_HAPPY24),
524 LABEL(BTN_TRIGGER_HAPPY25),
525 LABEL(BTN_TRIGGER_HAPPY26),
526 LABEL(BTN_TRIGGER_HAPPY27),
527 LABEL(BTN_TRIGGER_HAPPY28),
528 LABEL(BTN_TRIGGER_HAPPY29),
529 LABEL(BTN_TRIGGER_HAPPY30),
530 LABEL(BTN_TRIGGER_HAPPY31),
531 LABEL(BTN_TRIGGER_HAPPY32),
532 LABEL(BTN_TRIGGER_HAPPY33),
533 LABEL(BTN_TRIGGER_HAPPY34),
534 LABEL(BTN_TRIGGER_HAPPY35),
535 LABEL(BTN_TRIGGER_HAPPY36),
536 LABEL(BTN_TRIGGER_HAPPY37),
537 LABEL(BTN_TRIGGER_HAPPY38),
538 LABEL(BTN_TRIGGER_HAPPY39),
539 LABEL(BTN_TRIGGER_HAPPY40),
540 LABEL_END,
541};
542
543static struct label rel_labels[] = {
544 LABEL(REL_X),
545 LABEL(REL_Y),
546 LABEL(REL_Z),
547 LABEL(REL_RX),
548 LABEL(REL_RY),
549 LABEL(REL_RZ),
550 LABEL(REL_HWHEEL),
551 LABEL(REL_DIAL),
552 LABEL(REL_WHEEL),
553 LABEL(REL_MISC),
554 LABEL_END,
555};
556
557static struct label abs_labels[] = {
558 LABEL(ABS_X),
559 LABEL(ABS_Y),
560 LABEL(ABS_Z),
561 LABEL(ABS_RX),
562 LABEL(ABS_RY),
563 LABEL(ABS_RZ),
564 LABEL(ABS_THROTTLE),
565 LABEL(ABS_RUDDER),
566 LABEL(ABS_WHEEL),
567 LABEL(ABS_GAS),
568 LABEL(ABS_BRAKE),
569 LABEL(ABS_HAT0X),
570 LABEL(ABS_HAT0Y),
571 LABEL(ABS_HAT1X),
572 LABEL(ABS_HAT1Y),
573 LABEL(ABS_HAT2X),
574 LABEL(ABS_HAT2Y),
575 LABEL(ABS_HAT3X),
576 LABEL(ABS_HAT3Y),
577 LABEL(ABS_PRESSURE),
578 LABEL(ABS_DISTANCE),
579 LABEL(ABS_TILT_X),
580 LABEL(ABS_TILT_Y),
581 LABEL(ABS_TOOL_WIDTH),
582 LABEL(ABS_VOLUME),
583 LABEL(ABS_MISC),
584 LABEL(ABS_MT_SLOT),
585 LABEL(ABS_MT_TOUCH_MAJOR),
586 LABEL(ABS_MT_TOUCH_MINOR),
587 LABEL(ABS_MT_WIDTH_MAJOR),
588 LABEL(ABS_MT_WIDTH_MINOR),
589 LABEL(ABS_MT_ORIENTATION),
590 LABEL(ABS_MT_POSITION_X),
591 LABEL(ABS_MT_POSITION_Y),
592 LABEL(ABS_MT_TOOL_TYPE),
593 LABEL(ABS_MT_BLOB_ID),
594 LABEL(ABS_MT_TRACKING_ID),
595 LABEL(ABS_MT_PRESSURE),
596 LABEL(ABS_MT_DISTANCE),
597 LABEL_END,
598};
599
600static struct label sw_labels[] = {
601 LABEL(SW_LID),
602 LABEL(SW_TABLET_MODE),
603 LABEL(SW_HEADPHONE_INSERT),
604 LABEL(SW_RFKILL_ALL),
605 LABEL(SW_RADIO),
606 LABEL(SW_MICROPHONE_INSERT),
607 LABEL(SW_DOCK),
608 LABEL(SW_LINEOUT_INSERT),
609 LABEL(SW_JACK_PHYSICAL_INSERT),
610 LABEL(SW_VIDEOOUT_INSERT),
611 LABEL(SW_CAMERA_LENS_COVER),
612 LABEL(SW_KEYPAD_SLIDE),
613 LABEL(SW_FRONT_PROXIMITY),
614 LABEL(SW_ROTATE_LOCK),
615 LABEL_END,
616};
617
618static struct label msc_labels[] = {
619 LABEL(MSC_SERIAL),
620 LABEL(MSC_PULSELED),
621 LABEL(MSC_GESTURE),
622 LABEL(MSC_RAW),
623 LABEL(MSC_SCAN),
624 LABEL_END,
625};
626
627static struct label led_labels[] = {
628 LABEL(LED_NUML),
629 LABEL(LED_CAPSL),
630 LABEL(LED_SCROLLL),
631 LABEL(LED_COMPOSE),
632 LABEL(LED_KANA),
633 LABEL(LED_SLEEP),
634 LABEL(LED_SUSPEND),
635 LABEL(LED_MUTE),
636 LABEL(LED_MISC),
637 LABEL(LED_MAIL),
638 LABEL(LED_CHARGING),
639 LABEL_END,
640};
641
642static struct label rep_labels[] = {
643 LABEL(REP_DELAY),
644 LABEL(REP_PERIOD),
645 LABEL_END,
646};
647
648static struct label snd_labels[] = {
649 LABEL(SND_CLICK),
650 LABEL(SND_BELL),
651 LABEL(SND_TONE),
652 LABEL_END,
653};
654
655static struct label id_labels[] = {
656 LABEL(ID_BUS),
657 LABEL(ID_VENDOR),
658 LABEL(ID_PRODUCT),
659 LABEL(ID_VERSION),
660 LABEL_END,
661};
662
663static struct label bus_labels[] = {
664 LABEL(BUS_PCI),
665 LABEL(BUS_ISAPNP),
666 LABEL(BUS_USB),
667 LABEL(BUS_HIL),
668 LABEL(BUS_BLUETOOTH),
669 LABEL(BUS_VIRTUAL),
670 LABEL(BUS_ISA),
671 LABEL(BUS_I8042),
672 LABEL(BUS_XTKBD),
673 LABEL(BUS_RS232),
674 LABEL(BUS_GAMEPORT),
675 LABEL(BUS_PARPORT),
676 LABEL(BUS_AMIGA),
677 LABEL(BUS_ADB),
678 LABEL(BUS_I2C),
679 LABEL(BUS_HOST),
680 LABEL(BUS_GSC),
681 LABEL(BUS_ATARI),
682 LABEL(BUS_SPI),
683 LABEL_END,
684};
685
686static struct label mt_tool_labels[] = {
687 LABEL(MT_TOOL_FINGER),
688 LABEL(MT_TOOL_PEN),
689 LABEL(MT_TOOL_MAX),
690 LABEL_END,
691};
692
693static struct label ff_status_labels[] = {
694 LABEL(FF_STATUS_STOPPED),
695 LABEL(FF_STATUS_PLAYING),
696 LABEL(FF_STATUS_MAX),
697 LABEL_END,
698};
699
700static struct label ff_labels[] = {
701 LABEL(FF_RUMBLE),
702 LABEL(FF_PERIODIC),
703 LABEL(FF_CONSTANT),
704 LABEL(FF_SPRING),
705 LABEL(FF_FRICTION),
706 LABEL(FF_DAMPER),
707 LABEL(FF_INERTIA),
708 LABEL(FF_RAMP),
709 LABEL(FF_SQUARE),
710 LABEL(FF_TRIANGLE),
711 LABEL(FF_SINE),
712 LABEL(FF_SAW_UP),
713 LABEL(FF_SAW_DOWN),
714 LABEL(FF_CUSTOM),
715 LABEL(FF_GAIN),
716 LABEL(FF_AUTOCENTER),
717 LABEL_END,
718};
719
720static struct label key_value_labels[] = {
721 { "UP", 0 },
722 { "DOWN", 1 },
723 { "REPEAT", 2 },
724 LABEL_END,
725};