1 static struct label input_prop_labels[] = {
2     LABEL(INPUT_PROP_POINTER),
3     LABEL(INPUT_PROP_DIRECT),
4     LABEL(INPUT_PROP_BUTTONPAD),
5     LABEL(INPUT_PROP_SEMI_MT),
6     LABEL(INPUT_PROP_TOPBUTTONPAD),
7     LABEL(INPUT_PROP_POINTING_STICK),
8     LABEL(INPUT_PROP_ACCELEROMETER),
9     LABEL(INPUT_PROP_MAX),
10     LABEL_END,
11 };
12 static struct label ev_labels[] = {
13     LABEL(EV_VERSION),
14     LABEL(EV_SYN),
15     LABEL(EV_KEY),
16     LABEL(EV_REL),
17     LABEL(EV_ABS),
18     LABEL(EV_MSC),
19     LABEL(EV_SW),
20     LABEL(EV_LED),
21     LABEL(EV_SND),
22     LABEL(EV_REP),
23     LABEL(EV_FF),
24     LABEL(EV_PWR),
25     LABEL(EV_FF_STATUS),
26     LABEL(EV_MAX),
27     LABEL_END,
28 };
29 static struct label syn_labels[] = {
30     LABEL(SYN_REPORT),
31     LABEL(SYN_CONFIG),
32     LABEL(SYN_MT_REPORT),
33     LABEL(SYN_DROPPED),
34     LABEL(SYN_MAX),
35     LABEL_END,
36 };
37 static struct label key_labels[] = {
38     LABEL(KEY_RESERVED),
39     LABEL(KEY_ESC),
40     LABEL(KEY_1),
41     LABEL(KEY_2),
42     LABEL(KEY_3),
43     LABEL(KEY_4),
44     LABEL(KEY_5),
45     LABEL(KEY_6),
46     LABEL(KEY_7),
47     LABEL(KEY_8),
48     LABEL(KEY_9),
49     LABEL(KEY_0),
50     LABEL(KEY_MINUS),
51     LABEL(KEY_EQUAL),
52     LABEL(KEY_BACKSPACE),
53     LABEL(KEY_TAB),
54     LABEL(KEY_Q),
55     LABEL(KEY_W),
56     LABEL(KEY_E),
57     LABEL(KEY_R),
58     LABEL(KEY_T),
59     LABEL(KEY_Y),
60     LABEL(KEY_U),
61     LABEL(KEY_I),
62     LABEL(KEY_O),
63     LABEL(KEY_P),
64     LABEL(KEY_LEFTBRACE),
65     LABEL(KEY_RIGHTBRACE),
66     LABEL(KEY_ENTER),
67     LABEL(KEY_LEFTCTRL),
68     LABEL(KEY_A),
69     LABEL(KEY_S),
70     LABEL(KEY_D),
71     LABEL(KEY_F),
72     LABEL(KEY_G),
73     LABEL(KEY_H),
74     LABEL(KEY_J),
75     LABEL(KEY_K),
76     LABEL(KEY_L),
77     LABEL(KEY_SEMICOLON),
78     LABEL(KEY_APOSTROPHE),
79     LABEL(KEY_GRAVE),
80     LABEL(KEY_LEFTSHIFT),
81     LABEL(KEY_BACKSLASH),
82     LABEL(KEY_Z),
83     LABEL(KEY_X),
84     LABEL(KEY_C),
85     LABEL(KEY_V),
86     LABEL(KEY_B),
87     LABEL(KEY_N),
88     LABEL(KEY_M),
89     LABEL(KEY_COMMA),
90     LABEL(KEY_DOT),
91     LABEL(KEY_SLASH),
92     LABEL(KEY_RIGHTSHIFT),
93     LABEL(KEY_KPASTERISK),
94     LABEL(KEY_LEFTALT),
95     LABEL(KEY_SPACE),
96     LABEL(KEY_CAPSLOCK),
97     LABEL(KEY_F1),
98     LABEL(KEY_F2),
99     LABEL(KEY_F3),
100     LABEL(KEY_F4),
101     LABEL(KEY_F5),
102     LABEL(KEY_F6),
103     LABEL(KEY_F7),
104     LABEL(KEY_F8),
105     LABEL(KEY_F9),
106     LABEL(KEY_F10),
107     LABEL(KEY_NUMLOCK),
108     LABEL(KEY_SCROLLLOCK),
109     LABEL(KEY_KP7),
110     LABEL(KEY_KP8),
111     LABEL(KEY_KP9),
112     LABEL(KEY_KPMINUS),
113     LABEL(KEY_KP4),
114     LABEL(KEY_KP5),
115     LABEL(KEY_KP6),
116     LABEL(KEY_KPPLUS),
117     LABEL(KEY_KP1),
118     LABEL(KEY_KP2),
119     LABEL(KEY_KP3),
120     LABEL(KEY_KP0),
121     LABEL(KEY_KPDOT),
122     LABEL(KEY_ZENKAKUHANKAKU),
123     LABEL(KEY_102ND),
124     LABEL(KEY_F11),
125     LABEL(KEY_F12),
126     LABEL(KEY_RO),
127     LABEL(KEY_KATAKANA),
128     LABEL(KEY_HIRAGANA),
129     LABEL(KEY_HENKAN),
130     LABEL(KEY_KATAKANAHIRAGANA),
131     LABEL(KEY_MUHENKAN),
132     LABEL(KEY_KPJPCOMMA),
133     LABEL(KEY_KPENTER),
134     LABEL(KEY_RIGHTCTRL),
135     LABEL(KEY_KPSLASH),
136     LABEL(KEY_SYSRQ),
137     LABEL(KEY_RIGHTALT),
138     LABEL(KEY_LINEFEED),
139     LABEL(KEY_HOME),
140     LABEL(KEY_UP),
141     LABEL(KEY_PAGEUP),
142     LABEL(KEY_LEFT),
143     LABEL(KEY_RIGHT),
144     LABEL(KEY_END),
145     LABEL(KEY_DOWN),
146     LABEL(KEY_PAGEDOWN),
147     LABEL(KEY_INSERT),
148     LABEL(KEY_DELETE),
149     LABEL(KEY_MACRO),
150     LABEL(KEY_MUTE),
151     LABEL(KEY_VOLUMEDOWN),
152     LABEL(KEY_VOLUMEUP),
153     LABEL(KEY_POWER),
154     LABEL(KEY_KPEQUAL),
155     LABEL(KEY_KPPLUSMINUS),
156     LABEL(KEY_PAUSE),
157     LABEL(KEY_SCALE),
158     LABEL(KEY_KPCOMMA),
159     LABEL(KEY_HANGEUL),
160     LABEL(KEY_HANJA),
161     LABEL(KEY_YEN),
162     LABEL(KEY_LEFTMETA),
163     LABEL(KEY_RIGHTMETA),
164     LABEL(KEY_COMPOSE),
165     LABEL(KEY_STOP),
166     LABEL(KEY_AGAIN),
167     LABEL(KEY_PROPS),
168     LABEL(KEY_UNDO),
169     LABEL(KEY_FRONT),
170     LABEL(KEY_COPY),
171     LABEL(KEY_OPEN),
172     LABEL(KEY_PASTE),
173     LABEL(KEY_FIND),
174     LABEL(KEY_CUT),
175     LABEL(KEY_HELP),
176     LABEL(KEY_MENU),
177     LABEL(KEY_CALC),
178     LABEL(KEY_SETUP),
179     LABEL(KEY_SLEEP),
180     LABEL(KEY_WAKEUP),
181     LABEL(KEY_FILE),
182     LABEL(KEY_SENDFILE),
183     LABEL(KEY_DELETEFILE),
184     LABEL(KEY_XFER),
185     LABEL(KEY_PROG1),
186     LABEL(KEY_PROG2),
187     LABEL(KEY_WWW),
188     LABEL(KEY_MSDOS),
189     LABEL(KEY_COFFEE),
190     LABEL(KEY_ROTATE_DISPLAY),
191     LABEL(KEY_CYCLEWINDOWS),
192     LABEL(KEY_MAIL),
193     LABEL(KEY_BOOKMARKS),
194     LABEL(KEY_COMPUTER),
195     LABEL(KEY_BACK),
196     LABEL(KEY_FORWARD),
197     LABEL(KEY_CLOSECD),
198     LABEL(KEY_EJECTCD),
199     LABEL(KEY_EJECTCLOSECD),
200     LABEL(KEY_NEXTSONG),
201     LABEL(KEY_PLAYPAUSE),
202     LABEL(KEY_PREVIOUSSONG),
203     LABEL(KEY_STOPCD),
204     LABEL(KEY_RECORD),
205     LABEL(KEY_REWIND),
206     LABEL(KEY_PHONE),
207     LABEL(KEY_ISO),
208     LABEL(KEY_CONFIG),
209     LABEL(KEY_HOMEPAGE),
210     LABEL(KEY_REFRESH),
211     LABEL(KEY_EXIT),
212     LABEL(KEY_MOVE),
213     LABEL(KEY_EDIT),
214     LABEL(KEY_SCROLLUP),
215     LABEL(KEY_SCROLLDOWN),
216     LABEL(KEY_KPLEFTPAREN),
217     LABEL(KEY_KPRIGHTPAREN),
218     LABEL(KEY_NEW),
219     LABEL(KEY_REDO),
220     LABEL(KEY_F13),
221     LABEL(KEY_F14),
222     LABEL(KEY_F15),
223     LABEL(KEY_F16),
224     LABEL(KEY_F17),
225     LABEL(KEY_F18),
226     LABEL(KEY_F19),
227     LABEL(KEY_F20),
228     LABEL(KEY_F21),
229     LABEL(KEY_F22),
230     LABEL(KEY_F23),
231     LABEL(KEY_F24),
232     LABEL(KEY_PLAYCD),
233     LABEL(KEY_PAUSECD),
234     LABEL(KEY_PROG3),
235     LABEL(KEY_PROG4),
236     LABEL(KEY_ALL_APPLICATIONS),
237     LABEL(KEY_SUSPEND),
238     LABEL(KEY_CLOSE),
239     LABEL(KEY_PLAY),
240     LABEL(KEY_FASTFORWARD),
241     LABEL(KEY_BASSBOOST),
242     LABEL(KEY_PRINT),
243     LABEL(KEY_HP),
244     LABEL(KEY_CAMERA),
245     LABEL(KEY_SOUND),
246     LABEL(KEY_QUESTION),
247     LABEL(KEY_EMAIL),
248     LABEL(KEY_CHAT),
249     LABEL(KEY_SEARCH),
250     LABEL(KEY_CONNECT),
251     LABEL(KEY_FINANCE),
252     LABEL(KEY_SPORT),
253     LABEL(KEY_SHOP),
254     LABEL(KEY_ALTERASE),
255     LABEL(KEY_CANCEL),
256     LABEL(KEY_BRIGHTNESSDOWN),
257     LABEL(KEY_BRIGHTNESSUP),
258     LABEL(KEY_MEDIA),
259     LABEL(KEY_SWITCHVIDEOMODE),
260     LABEL(KEY_KBDILLUMTOGGLE),
261     LABEL(KEY_KBDILLUMDOWN),
262     LABEL(KEY_KBDILLUMUP),
263     LABEL(KEY_SEND),
264     LABEL(KEY_REPLY),
265     LABEL(KEY_FORWARDMAIL),
266     LABEL(KEY_SAVE),
267     LABEL(KEY_DOCUMENTS),
268     LABEL(KEY_BATTERY),
269     LABEL(KEY_BLUETOOTH),
270     LABEL(KEY_WLAN),
271     LABEL(KEY_UWB),
272     LABEL(KEY_UNKNOWN),
273     LABEL(KEY_VIDEO_NEXT),
274     LABEL(KEY_VIDEO_PREV),
275     LABEL(KEY_BRIGHTNESS_CYCLE),
276     LABEL(KEY_BRIGHTNESS_AUTO),
277     LABEL(KEY_DISPLAY_OFF),
278     LABEL(KEY_WWAN),
279     LABEL(KEY_RFKILL),
280     LABEL(KEY_MICMUTE),
281     LABEL(BTN_MISC),
282     LABEL(BTN_0),
283     LABEL(BTN_1),
284     LABEL(BTN_2),
285     LABEL(BTN_3),
286     LABEL(BTN_4),
287     LABEL(BTN_5),
288     LABEL(BTN_6),
289     LABEL(BTN_7),
290     LABEL(BTN_8),
291     LABEL(BTN_9),
292     LABEL(BTN_MOUSE),
293     LABEL(BTN_LEFT),
294     LABEL(BTN_RIGHT),
295     LABEL(BTN_MIDDLE),
296     LABEL(BTN_SIDE),
297     LABEL(BTN_EXTRA),
298     LABEL(BTN_FORWARD),
299     LABEL(BTN_BACK),
300     LABEL(BTN_TASK),
301     LABEL(BTN_JOYSTICK),
302     LABEL(BTN_TRIGGER),
303     LABEL(BTN_THUMB),
304     LABEL(BTN_THUMB2),
305     LABEL(BTN_TOP),
306     LABEL(BTN_TOP2),
307     LABEL(BTN_PINKIE),
308     LABEL(BTN_BASE),
309     LABEL(BTN_BASE2),
310     LABEL(BTN_BASE3),
311     LABEL(BTN_BASE4),
312     LABEL(BTN_BASE5),
313     LABEL(BTN_BASE6),
314     LABEL(BTN_DEAD),
315     LABEL(BTN_GAMEPAD),
316     LABEL(BTN_SOUTH),
317     LABEL(BTN_EAST),
318     LABEL(BTN_C),
319     LABEL(BTN_NORTH),
320     LABEL(BTN_WEST),
321     LABEL(BTN_Z),
322     LABEL(BTN_TL),
323     LABEL(BTN_TR),
324     LABEL(BTN_TL2),
325     LABEL(BTN_TR2),
326     LABEL(BTN_SELECT),
327     LABEL(BTN_START),
328     LABEL(BTN_MODE),
329     LABEL(BTN_THUMBL),
330     LABEL(BTN_THUMBR),
331     LABEL(BTN_DIGI),
332     LABEL(BTN_TOOL_PEN),
333     LABEL(BTN_TOOL_RUBBER),
334     LABEL(BTN_TOOL_BRUSH),
335     LABEL(BTN_TOOL_PENCIL),
336     LABEL(BTN_TOOL_AIRBRUSH),
337     LABEL(BTN_TOOL_FINGER),
338     LABEL(BTN_TOOL_MOUSE),
339     LABEL(BTN_TOOL_LENS),
340     LABEL(BTN_TOOL_QUINTTAP),
341     LABEL(BTN_STYLUS3),
342     LABEL(BTN_TOUCH),
343     LABEL(BTN_STYLUS),
344     LABEL(BTN_STYLUS2),
345     LABEL(BTN_TOOL_DOUBLETAP),
346     LABEL(BTN_TOOL_TRIPLETAP),
347     LABEL(BTN_TOOL_QUADTAP),
348     LABEL(BTN_WHEEL),
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_FULL_SCREEN),
372     LABEL(KEY_MODE),
373     LABEL(KEY_KEYBOARD),
374     LABEL(KEY_ASPECT_RATIO),
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_NOTIFICATION_CENTER),
443     LABEL(KEY_PICKUP_PHONE),
444     LABEL(KEY_HANGUP_PHONE),
445     LABEL(KEY_DEL_EOL),
446     LABEL(KEY_DEL_EOS),
447     LABEL(KEY_INS_LINE),
448     LABEL(KEY_DEL_LINE),
449     LABEL(KEY_FN),
450     LABEL(KEY_FN_ESC),
451     LABEL(KEY_FN_F1),
452     LABEL(KEY_FN_F2),
453     LABEL(KEY_FN_F3),
454     LABEL(KEY_FN_F4),
455     LABEL(KEY_FN_F5),
456     LABEL(KEY_FN_F6),
457     LABEL(KEY_FN_F7),
458     LABEL(KEY_FN_F8),
459     LABEL(KEY_FN_F9),
460     LABEL(KEY_FN_F10),
461     LABEL(KEY_FN_F11),
462     LABEL(KEY_FN_F12),
463     LABEL(KEY_FN_1),
464     LABEL(KEY_FN_2),
465     LABEL(KEY_FN_D),
466     LABEL(KEY_FN_E),
467     LABEL(KEY_FN_F),
468     LABEL(KEY_FN_S),
469     LABEL(KEY_FN_B),
470     LABEL(KEY_FN_RIGHT_SHIFT),
471     LABEL(KEY_BRL_DOT1),
472     LABEL(KEY_BRL_DOT2),
473     LABEL(KEY_BRL_DOT3),
474     LABEL(KEY_BRL_DOT4),
475     LABEL(KEY_BRL_DOT5),
476     LABEL(KEY_BRL_DOT6),
477     LABEL(KEY_BRL_DOT7),
478     LABEL(KEY_BRL_DOT8),
479     LABEL(KEY_BRL_DOT9),
480     LABEL(KEY_BRL_DOT10),
481     LABEL(KEY_NUMERIC_0),
482     LABEL(KEY_NUMERIC_1),
483     LABEL(KEY_NUMERIC_2),
484     LABEL(KEY_NUMERIC_3),
485     LABEL(KEY_NUMERIC_4),
486     LABEL(KEY_NUMERIC_5),
487     LABEL(KEY_NUMERIC_6),
488     LABEL(KEY_NUMERIC_7),
489     LABEL(KEY_NUMERIC_8),
490     LABEL(KEY_NUMERIC_9),
491     LABEL(KEY_NUMERIC_STAR),
492     LABEL(KEY_NUMERIC_POUND),
493     LABEL(KEY_NUMERIC_A),
494     LABEL(KEY_NUMERIC_B),
495     LABEL(KEY_NUMERIC_C),
496     LABEL(KEY_NUMERIC_D),
497     LABEL(KEY_CAMERA_FOCUS),
498     LABEL(KEY_WPS_BUTTON),
499     LABEL(KEY_TOUCHPAD_TOGGLE),
500     LABEL(KEY_TOUCHPAD_ON),
501     LABEL(KEY_TOUCHPAD_OFF),
502     LABEL(KEY_CAMERA_ZOOMIN),
503     LABEL(KEY_CAMERA_ZOOMOUT),
504     LABEL(KEY_CAMERA_UP),
505     LABEL(KEY_CAMERA_DOWN),
506     LABEL(KEY_CAMERA_LEFT),
507     LABEL(KEY_CAMERA_RIGHT),
508     LABEL(KEY_ATTENDANT_ON),
509     LABEL(KEY_ATTENDANT_OFF),
510     LABEL(KEY_ATTENDANT_TOGGLE),
511     LABEL(KEY_LIGHTS_TOGGLE),
512     LABEL(BTN_DPAD_UP),
513     LABEL(BTN_DPAD_DOWN),
514     LABEL(BTN_DPAD_LEFT),
515     LABEL(BTN_DPAD_RIGHT),
516     LABEL(KEY_ALS_TOGGLE),
517     LABEL(KEY_ROTATE_LOCK_TOGGLE),
518     LABEL(KEY_REFRESH_RATE_TOGGLE),
519     LABEL(KEY_BUTTONCONFIG),
520     LABEL(KEY_TASKMANAGER),
521     LABEL(KEY_JOURNAL),
522     LABEL(KEY_CONTROLPANEL),
523     LABEL(KEY_APPSELECT),
524     LABEL(KEY_SCREENSAVER),
525     LABEL(KEY_VOICECOMMAND),
526     LABEL(KEY_ASSISTANT),
527     LABEL(KEY_KBD_LAYOUT_NEXT),
528     LABEL(KEY_EMOJI_PICKER),
529     LABEL(KEY_DICTATE),
530     LABEL(KEY_CAMERA_ACCESS_ENABLE),
531     LABEL(KEY_CAMERA_ACCESS_DISABLE),
532     LABEL(KEY_CAMERA_ACCESS_TOGGLE),
533     LABEL(KEY_ACCESSIBILITY),
534     LABEL(KEY_DO_NOT_DISTURB),
535     LABEL(KEY_BRIGHTNESS_MIN),
536     LABEL(KEY_BRIGHTNESS_MAX),
537     LABEL(KEY_KBDINPUTASSIST_PREV),
538     LABEL(KEY_KBDINPUTASSIST_NEXT),
539     LABEL(KEY_KBDINPUTASSIST_PREVGROUP),
540     LABEL(KEY_KBDINPUTASSIST_NEXTGROUP),
541     LABEL(KEY_KBDINPUTASSIST_ACCEPT),
542     LABEL(KEY_KBDINPUTASSIST_CANCEL),
543     LABEL(KEY_RIGHT_UP),
544     LABEL(KEY_RIGHT_DOWN),
545     LABEL(KEY_LEFT_UP),
546     LABEL(KEY_LEFT_DOWN),
547     LABEL(KEY_ROOT_MENU),
548     LABEL(KEY_MEDIA_TOP_MENU),
549     LABEL(KEY_NUMERIC_11),
550     LABEL(KEY_NUMERIC_12),
551     LABEL(KEY_AUDIO_DESC),
552     LABEL(KEY_3D_MODE),
553     LABEL(KEY_NEXT_FAVORITE),
554     LABEL(KEY_STOP_RECORD),
555     LABEL(KEY_PAUSE_RECORD),
556     LABEL(KEY_VOD),
557     LABEL(KEY_UNMUTE),
558     LABEL(KEY_FASTREVERSE),
559     LABEL(KEY_SLOWREVERSE),
560     LABEL(KEY_DATA),
561     LABEL(KEY_ONSCREEN_KEYBOARD),
562     LABEL(KEY_PRIVACY_SCREEN_TOGGLE),
563     LABEL(KEY_SELECTIVE_SCREENSHOT),
564     LABEL(KEY_NEXT_ELEMENT),
565     LABEL(KEY_PREVIOUS_ELEMENT),
566     LABEL(KEY_AUTOPILOT_ENGAGE_TOGGLE),
567     LABEL(KEY_MARK_WAYPOINT),
568     LABEL(KEY_SOS),
569     LABEL(KEY_NAV_CHART),
570     LABEL(KEY_FISHING_CHART),
571     LABEL(KEY_SINGLE_RANGE_RADAR),
572     LABEL(KEY_DUAL_RANGE_RADAR),
573     LABEL(KEY_RADAR_OVERLAY),
574     LABEL(KEY_TRADITIONAL_SONAR),
575     LABEL(KEY_CLEARVU_SONAR),
576     LABEL(KEY_SIDEVU_SONAR),
577     LABEL(KEY_NAV_INFO),
578     LABEL(KEY_BRIGHTNESS_MENU),
579     LABEL(KEY_MACRO1),
580     LABEL(KEY_MACRO2),
581     LABEL(KEY_MACRO3),
582     LABEL(KEY_MACRO4),
583     LABEL(KEY_MACRO5),
584     LABEL(KEY_MACRO6),
585     LABEL(KEY_MACRO7),
586     LABEL(KEY_MACRO8),
587     LABEL(KEY_MACRO9),
588     LABEL(KEY_MACRO10),
589     LABEL(KEY_MACRO11),
590     LABEL(KEY_MACRO12),
591     LABEL(KEY_MACRO13),
592     LABEL(KEY_MACRO14),
593     LABEL(KEY_MACRO15),
594     LABEL(KEY_MACRO16),
595     LABEL(KEY_MACRO17),
596     LABEL(KEY_MACRO18),
597     LABEL(KEY_MACRO19),
598     LABEL(KEY_MACRO20),
599     LABEL(KEY_MACRO21),
600     LABEL(KEY_MACRO22),
601     LABEL(KEY_MACRO23),
602     LABEL(KEY_MACRO24),
603     LABEL(KEY_MACRO25),
604     LABEL(KEY_MACRO26),
605     LABEL(KEY_MACRO27),
606     LABEL(KEY_MACRO28),
607     LABEL(KEY_MACRO29),
608     LABEL(KEY_MACRO30),
609     LABEL(KEY_MACRO_RECORD_START),
610     LABEL(KEY_MACRO_RECORD_STOP),
611     LABEL(KEY_MACRO_PRESET_CYCLE),
612     LABEL(KEY_MACRO_PRESET1),
613     LABEL(KEY_MACRO_PRESET2),
614     LABEL(KEY_MACRO_PRESET3),
615     LABEL(KEY_KBD_LCD_MENU1),
616     LABEL(KEY_KBD_LCD_MENU2),
617     LABEL(KEY_KBD_LCD_MENU3),
618     LABEL(KEY_KBD_LCD_MENU4),
619     LABEL(KEY_KBD_LCD_MENU5),
620     LABEL(BTN_TRIGGER_HAPPY),
621     LABEL(BTN_TRIGGER_HAPPY1),
622     LABEL(BTN_TRIGGER_HAPPY2),
623     LABEL(BTN_TRIGGER_HAPPY3),
624     LABEL(BTN_TRIGGER_HAPPY4),
625     LABEL(BTN_TRIGGER_HAPPY5),
626     LABEL(BTN_TRIGGER_HAPPY6),
627     LABEL(BTN_TRIGGER_HAPPY7),
628     LABEL(BTN_TRIGGER_HAPPY8),
629     LABEL(BTN_TRIGGER_HAPPY9),
630     LABEL(BTN_TRIGGER_HAPPY10),
631     LABEL(BTN_TRIGGER_HAPPY11),
632     LABEL(BTN_TRIGGER_HAPPY12),
633     LABEL(BTN_TRIGGER_HAPPY13),
634     LABEL(BTN_TRIGGER_HAPPY14),
635     LABEL(BTN_TRIGGER_HAPPY15),
636     LABEL(BTN_TRIGGER_HAPPY16),
637     LABEL(BTN_TRIGGER_HAPPY17),
638     LABEL(BTN_TRIGGER_HAPPY18),
639     LABEL(BTN_TRIGGER_HAPPY19),
640     LABEL(BTN_TRIGGER_HAPPY20),
641     LABEL(BTN_TRIGGER_HAPPY21),
642     LABEL(BTN_TRIGGER_HAPPY22),
643     LABEL(BTN_TRIGGER_HAPPY23),
644     LABEL(BTN_TRIGGER_HAPPY24),
645     LABEL(BTN_TRIGGER_HAPPY25),
646     LABEL(BTN_TRIGGER_HAPPY26),
647     LABEL(BTN_TRIGGER_HAPPY27),
648     LABEL(BTN_TRIGGER_HAPPY28),
649     LABEL(BTN_TRIGGER_HAPPY29),
650     LABEL(BTN_TRIGGER_HAPPY30),
651     LABEL(BTN_TRIGGER_HAPPY31),
652     LABEL(BTN_TRIGGER_HAPPY32),
653     LABEL(BTN_TRIGGER_HAPPY33),
654     LABEL(BTN_TRIGGER_HAPPY34),
655     LABEL(BTN_TRIGGER_HAPPY35),
656     LABEL(BTN_TRIGGER_HAPPY36),
657     LABEL(BTN_TRIGGER_HAPPY37),
658     LABEL(BTN_TRIGGER_HAPPY38),
659     LABEL(BTN_TRIGGER_HAPPY39),
660     LABEL(BTN_TRIGGER_HAPPY40),
661     LABEL(KEY_MAX),
662     LABEL_END,
663 };
664 static struct label rel_labels[] = {
665     LABEL(REL_X),
666     LABEL(REL_Y),
667     LABEL(REL_Z),
668     LABEL(REL_RX),
669     LABEL(REL_RY),
670     LABEL(REL_RZ),
671     LABEL(REL_HWHEEL),
672     LABEL(REL_DIAL),
673     LABEL(REL_WHEEL),
674     LABEL(REL_MISC),
675     LABEL(REL_RESERVED),
676     LABEL(REL_WHEEL_HI_RES),
677     LABEL(REL_HWHEEL_HI_RES),
678     LABEL(REL_MAX),
679     LABEL_END,
680 };
681 static struct label abs_labels[] = {
682     LABEL(ABS_X),
683     LABEL(ABS_Y),
684     LABEL(ABS_Z),
685     LABEL(ABS_RX),
686     LABEL(ABS_RY),
687     LABEL(ABS_RZ),
688     LABEL(ABS_THROTTLE),
689     LABEL(ABS_RUDDER),
690     LABEL(ABS_WHEEL),
691     LABEL(ABS_GAS),
692     LABEL(ABS_BRAKE),
693     LABEL(ABS_HAT0X),
694     LABEL(ABS_HAT0Y),
695     LABEL(ABS_HAT1X),
696     LABEL(ABS_HAT1Y),
697     LABEL(ABS_HAT2X),
698     LABEL(ABS_HAT2Y),
699     LABEL(ABS_HAT3X),
700     LABEL(ABS_HAT3Y),
701     LABEL(ABS_PRESSURE),
702     LABEL(ABS_DISTANCE),
703     LABEL(ABS_TILT_X),
704     LABEL(ABS_TILT_Y),
705     LABEL(ABS_TOOL_WIDTH),
706     LABEL(ABS_VOLUME),
707     LABEL(ABS_PROFILE),
708     LABEL(ABS_MISC),
709     LABEL(ABS_RESERVED),
710     LABEL(ABS_MT_SLOT),
711     LABEL(ABS_MT_TOUCH_MAJOR),
712     LABEL(ABS_MT_TOUCH_MINOR),
713     LABEL(ABS_MT_WIDTH_MAJOR),
714     LABEL(ABS_MT_WIDTH_MINOR),
715     LABEL(ABS_MT_ORIENTATION),
716     LABEL(ABS_MT_POSITION_X),
717     LABEL(ABS_MT_POSITION_Y),
718     LABEL(ABS_MT_TOOL_TYPE),
719     LABEL(ABS_MT_BLOB_ID),
720     LABEL(ABS_MT_TRACKING_ID),
721     LABEL(ABS_MT_PRESSURE),
722     LABEL(ABS_MT_DISTANCE),
723     LABEL(ABS_MT_TOOL_X),
724     LABEL(ABS_MT_TOOL_Y),
725     LABEL(ABS_MAX),
726     LABEL_END,
727 };
728 static struct label sw_labels[] = {
729     LABEL(SW_LID),
730     LABEL(SW_TABLET_MODE),
731     LABEL(SW_HEADPHONE_INSERT),
732     LABEL(SW_RFKILL_ALL),
733     LABEL(SW_MICROPHONE_INSERT),
734     LABEL(SW_DOCK),
735     LABEL(SW_LINEOUT_INSERT),
736     LABEL(SW_JACK_PHYSICAL_INSERT),
737     LABEL(SW_VIDEOOUT_INSERT),
738     LABEL(SW_CAMERA_LENS_COVER),
739     LABEL(SW_KEYPAD_SLIDE),
740     LABEL(SW_FRONT_PROXIMITY),
741     LABEL(SW_ROTATE_LOCK),
742     LABEL(SW_LINEIN_INSERT),
743     LABEL(SW_MUTE_DEVICE),
744     LABEL(SW_PEN_INSERTED),
745     LABEL(SW_MACHINE_COVER),
746     LABEL(SW_MAX),
747     LABEL_END,
748 };
749 static struct label msc_labels[] = {
750     LABEL(MSC_SERIAL),
751     LABEL(MSC_PULSELED),
752     LABEL(MSC_GESTURE),
753     LABEL(MSC_RAW),
754     LABEL(MSC_SCAN),
755     LABEL(MSC_TIMESTAMP),
756     LABEL(MSC_MAX),
757     LABEL_END,
758 };
759 static struct label led_labels[] = {
760     LABEL(LED_NUML),
761     LABEL(LED_CAPSL),
762     LABEL(LED_SCROLLL),
763     LABEL(LED_COMPOSE),
764     LABEL(LED_KANA),
765     LABEL(LED_SLEEP),
766     LABEL(LED_SUSPEND),
767     LABEL(LED_MUTE),
768     LABEL(LED_MISC),
769     LABEL(LED_MAIL),
770     LABEL(LED_CHARGING),
771     LABEL(LED_MAX),
772     LABEL_END,
773 };
774 static struct label rep_labels[] = {
775     LABEL(REP_DELAY),
776     LABEL(REP_PERIOD),
777     LABEL(REP_MAX),
778     LABEL_END,
779 };
780 static struct label snd_labels[] = {
781     LABEL(SND_CLICK),
782     LABEL(SND_BELL),
783     LABEL(SND_TONE),
784     LABEL(SND_MAX),
785     LABEL_END,
786 };
787 static struct label mt_tool_labels[] = {
788     LABEL(MT_TOOL_FINGER),
789     LABEL(MT_TOOL_PEN),
790     LABEL(MT_TOOL_PALM),
791     LABEL(MT_TOOL_DIAL),
792     LABEL(MT_TOOL_MAX),
793     LABEL_END,
794 };
795 static struct label ff_status_labels[] = {
796     LABEL(FF_STATUS_STOPPED),
797     LABEL(FF_STATUS_PLAYING),
798     LABEL(FF_STATUS_MAX),
799     LABEL_END,
800 };
801 static struct label ff_labels[] = {
802     LABEL(FF_RUMBLE),
803     LABEL(FF_PERIODIC),
804     LABEL(FF_CONSTANT),
805     LABEL(FF_SPRING),
806     LABEL(FF_FRICTION),
807     LABEL(FF_DAMPER),
808     LABEL(FF_INERTIA),
809     LABEL(FF_RAMP),
810     LABEL(FF_SQUARE),
811     LABEL(FF_TRIANGLE),
812     LABEL(FF_SINE),
813     LABEL(FF_SAW_UP),
814     LABEL(FF_SAW_DOWN),
815     LABEL(FF_CUSTOM),
816     LABEL(FF_GAIN),
817     LABEL(FF_AUTOCENTER),
818     LABEL(FF_MAX),
819     LABEL_END,
820 };
821