/* THIS FILE IS GENERATED, DO NOT EDIT */

#ifndef EVENT_NAMES_H
#define EVENT_NAMES_H

static const char * const ev_map[EV_MAX + 1] = {
    [EV_SYN] = "EV_SYN",
    [EV_KEY] = "EV_KEY",
    [EV_REL] = "EV_REL",
    [EV_ABS] = "EV_ABS",
    [EV_MSC] = "EV_MSC",
    [EV_SW] = "EV_SW",
    [EV_LED] = "EV_LED",
    [EV_SND] = "EV_SND",
    [EV_REP] = "EV_REP",
    [EV_FF] = "EV_FF",
    [EV_PWR] = "EV_PWR",
    [EV_FF_STATUS] = "EV_FF_STATUS",
    [EV_MAX] = "EV_MAX",
};

static const char * const rel_map[REL_MAX + 1] = {
    [REL_X] = "REL_X",
    [REL_Y] = "REL_Y",
    [REL_Z] = "REL_Z",
    [REL_RX] = "REL_RX",
    [REL_RY] = "REL_RY",
    [REL_RZ] = "REL_RZ",
    [REL_HWHEEL] = "REL_HWHEEL",
    [REL_DIAL] = "REL_DIAL",
    [REL_WHEEL] = "REL_WHEEL",
    [REL_MISC] = "REL_MISC",
    [REL_RESERVED] = "REL_RESERVED",
    [REL_WHEEL_HI_RES] = "REL_WHEEL_HI_RES",
    [REL_HWHEEL_HI_RES] = "REL_HWHEEL_HI_RES",
    [REL_MAX] = "REL_MAX",
};

static const char * const abs_map[ABS_MAX + 1] = {
    [ABS_X] = "ABS_X",
    [ABS_Y] = "ABS_Y",
    [ABS_Z] = "ABS_Z",
    [ABS_RX] = "ABS_RX",
    [ABS_RY] = "ABS_RY",
    [ABS_RZ] = "ABS_RZ",
    [ABS_THROTTLE] = "ABS_THROTTLE",
    [ABS_RUDDER] = "ABS_RUDDER",
    [ABS_WHEEL] = "ABS_WHEEL",
    [ABS_GAS] = "ABS_GAS",
    [ABS_BRAKE] = "ABS_BRAKE",
    [ABS_HAT0X] = "ABS_HAT0X",
    [ABS_HAT0Y] = "ABS_HAT0Y",
    [ABS_HAT1X] = "ABS_HAT1X",
    [ABS_HAT1Y] = "ABS_HAT1Y",
    [ABS_HAT2X] = "ABS_HAT2X",
    [ABS_HAT2Y] = "ABS_HAT2Y",
    [ABS_HAT3X] = "ABS_HAT3X",
    [ABS_HAT3Y] = "ABS_HAT3Y",
    [ABS_PRESSURE] = "ABS_PRESSURE",
    [ABS_DISTANCE] = "ABS_DISTANCE",
    [ABS_TILT_X] = "ABS_TILT_X",
    [ABS_TILT_Y] = "ABS_TILT_Y",
    [ABS_TOOL_WIDTH] = "ABS_TOOL_WIDTH",
    [ABS_VOLUME] = "ABS_VOLUME",
    // [ABS_PROFILE] = "ABS_PROFILE",
    [ABS_MISC] = "ABS_MISC",
    [ABS_RESERVED] = "ABS_RESERVED",
    [ABS_MT_SLOT] = "ABS_MT_SLOT",
    [ABS_MT_TOUCH_MAJOR] = "ABS_MT_TOUCH_MAJOR",
    [ABS_MT_TOUCH_MINOR] = "ABS_MT_TOUCH_MINOR",
    [ABS_MT_WIDTH_MAJOR] = "ABS_MT_WIDTH_MAJOR",
    [ABS_MT_WIDTH_MINOR] = "ABS_MT_WIDTH_MINOR",
    [ABS_MT_ORIENTATION] = "ABS_MT_ORIENTATION",
    [ABS_MT_POSITION_X] = "ABS_MT_POSITION_X",
    [ABS_MT_POSITION_Y] = "ABS_MT_POSITION_Y",
    [ABS_MT_TOOL_TYPE] = "ABS_MT_TOOL_TYPE",
    [ABS_MT_BLOB_ID] = "ABS_MT_BLOB_ID",
    [ABS_MT_TRACKING_ID] = "ABS_MT_TRACKING_ID",
    [ABS_MT_PRESSURE] = "ABS_MT_PRESSURE",
    [ABS_MT_DISTANCE] = "ABS_MT_DISTANCE",
    [ABS_MT_TOOL_X] = "ABS_MT_TOOL_X",
    [ABS_MT_TOOL_Y] = "ABS_MT_TOOL_Y",
    [ABS_MAX] = "ABS_MAX",
};

static const char * const key_map[KEY_MAX + 1] = {
    [KEY_RESERVED] = "KEY_RESERVED",
    [KEY_ESC] = "KEY_ESC",
    [KEY_1] = "KEY_1",
    [KEY_2] = "KEY_2",
    [KEY_3] = "KEY_3",
    [KEY_4] = "KEY_4",
    [KEY_5] = "KEY_5",
    [KEY_6] = "KEY_6",
    [KEY_7] = "KEY_7",
    [KEY_8] = "KEY_8",
    [KEY_9] = "KEY_9",
    [KEY_0] = "KEY_0",
    [KEY_MINUS] = "KEY_MINUS",
    [KEY_EQUAL] = "KEY_EQUAL",
    [KEY_BACKSPACE] = "KEY_BACKSPACE",
    [KEY_TAB] = "KEY_TAB",
    [KEY_Q] = "KEY_Q",
    [KEY_W] = "KEY_W",
    [KEY_E] = "KEY_E",
    [KEY_R] = "KEY_R",
    [KEY_T] = "KEY_T",
    [KEY_Y] = "KEY_Y",
    [KEY_U] = "KEY_U",
    [KEY_I] = "KEY_I",
    [KEY_O] = "KEY_O",
    [KEY_P] = "KEY_P",
    [KEY_LEFTBRACE] = "KEY_LEFTBRACE",
    [KEY_RIGHTBRACE] = "KEY_RIGHTBRACE",
    [KEY_ENTER] = "KEY_ENTER",
    [KEY_LEFTCTRL] = "KEY_LEFTCTRL",
    [KEY_A] = "KEY_A",
    [KEY_S] = "KEY_S",
    [KEY_D] = "KEY_D",
    [KEY_F] = "KEY_F",
    [KEY_G] = "KEY_G",
    [KEY_H] = "KEY_H",
    [KEY_J] = "KEY_J",
    [KEY_K] = "KEY_K",
    [KEY_L] = "KEY_L",
    [KEY_SEMICOLON] = "KEY_SEMICOLON",
    [KEY_APOSTROPHE] = "KEY_APOSTROPHE",
    [KEY_GRAVE] = "KEY_GRAVE",
    [KEY_LEFTSHIFT] = "KEY_LEFTSHIFT",
    [KEY_BACKSLASH] = "KEY_BACKSLASH",
    [KEY_Z] = "KEY_Z",
    [KEY_X] = "KEY_X",
    [KEY_C] = "KEY_C",
    [KEY_V] = "KEY_V",
    [KEY_B] = "KEY_B",
    [KEY_N] = "KEY_N",
    [KEY_M] = "KEY_M",
    [KEY_COMMA] = "KEY_COMMA",
    [KEY_DOT] = "KEY_DOT",
    [KEY_SLASH] = "KEY_SLASH",
    [KEY_RIGHTSHIFT] = "KEY_RIGHTSHIFT",
    [KEY_KPASTERISK] = "KEY_KPASTERISK",
    [KEY_LEFTALT] = "KEY_LEFTALT",
    [KEY_SPACE] = "KEY_SPACE",
    [KEY_CAPSLOCK] = "KEY_CAPSLOCK",
    [KEY_F1] = "KEY_F1",
    [KEY_F2] = "KEY_F2",
    [KEY_F3] = "KEY_F3",
    [KEY_F4] = "KEY_F4",
    [KEY_F5] = "KEY_F5",
    [KEY_F6] = "KEY_F6",
    [KEY_F7] = "KEY_F7",
    [KEY_F8] = "KEY_F8",
    [KEY_F9] = "KEY_F9",
    [KEY_F10] = "KEY_F10",
    [KEY_NUMLOCK] = "KEY_NUMLOCK",
    [KEY_SCROLLLOCK] = "KEY_SCROLLLOCK",
    [KEY_KP7] = "KEY_KP7",
    [KEY_KP8] = "KEY_KP8",
    [KEY_KP9] = "KEY_KP9",
    [KEY_KPMINUS] = "KEY_KPMINUS",
    [KEY_KP4] = "KEY_KP4",
    [KEY_KP5] = "KEY_KP5",
    [KEY_KP6] = "KEY_KP6",
    [KEY_KPPLUS] = "KEY_KPPLUS",
    [KEY_KP1] = "KEY_KP1",
    [KEY_KP2] = "KEY_KP2",
    [KEY_KP3] = "KEY_KP3",
    [KEY_KP0] = "KEY_KP0",
    [KEY_KPDOT] = "KEY_KPDOT",
    [KEY_ZENKAKUHANKAKU] = "KEY_ZENKAKUHANKAKU",
    [KEY_102ND] = "KEY_102ND",
    [KEY_F11] = "KEY_F11",
    [KEY_F12] = "KEY_F12",
    [KEY_RO] = "KEY_RO",
    [KEY_KATAKANA] = "KEY_KATAKANA",
    [KEY_HIRAGANA] = "KEY_HIRAGANA",
    [KEY_HENKAN] = "KEY_HENKAN",
    [KEY_KATAKANAHIRAGANA] = "KEY_KATAKANAHIRAGANA",
    [KEY_MUHENKAN] = "KEY_MUHENKAN",
    [KEY_KPJPCOMMA] = "KEY_KPJPCOMMA",
    [KEY_KPENTER] = "KEY_KPENTER",
    [KEY_RIGHTCTRL] = "KEY_RIGHTCTRL",
    [KEY_KPSLASH] = "KEY_KPSLASH",
    [KEY_SYSRQ] = "KEY_SYSRQ",
    [KEY_RIGHTALT] = "KEY_RIGHTALT",
    [KEY_LINEFEED] = "KEY_LINEFEED",
    [KEY_HOME] = "KEY_HOME",
    [KEY_UP] = "KEY_UP",
    [KEY_PAGEUP] = "KEY_PAGEUP",
    [KEY_LEFT] = "KEY_LEFT",
    [KEY_RIGHT] = "KEY_RIGHT",
    [KEY_END] = "KEY_END",
    [KEY_DOWN] = "KEY_DOWN",
    [KEY_PAGEDOWN] = "KEY_PAGEDOWN",
    [KEY_INSERT] = "KEY_INSERT",
    [KEY_DELETE] = "KEY_DELETE",
    [KEY_MACRO] = "KEY_MACRO",
    [KEY_MUTE] = "KEY_MUTE",
    [KEY_VOLUMEDOWN] = "KEY_VOLUMEDOWN",
    [KEY_VOLUMEUP] = "KEY_VOLUMEUP",
    [KEY_POWER] = "KEY_POWER",
    [KEY_KPEQUAL] = "KEY_KPEQUAL",
    [KEY_KPPLUSMINUS] = "KEY_KPPLUSMINUS",
    [KEY_PAUSE] = "KEY_PAUSE",
    [KEY_SCALE] = "KEY_SCALE",
    [KEY_KPCOMMA] = "KEY_KPCOMMA",
    [KEY_HANGEUL] = "KEY_HANGEUL",
    [KEY_HANJA] = "KEY_HANJA",
    [KEY_YEN] = "KEY_YEN",
    [KEY_LEFTMETA] = "KEY_LEFTMETA",
    [KEY_RIGHTMETA] = "KEY_RIGHTMETA",
    [KEY_COMPOSE] = "KEY_COMPOSE",
    [KEY_STOP] = "KEY_STOP",
    [KEY_AGAIN] = "KEY_AGAIN",
    [KEY_PROPS] = "KEY_PROPS",
    [KEY_UNDO] = "KEY_UNDO",
    [KEY_FRONT] = "KEY_FRONT",
    [KEY_COPY] = "KEY_COPY",
    [KEY_OPEN] = "KEY_OPEN",
    [KEY_PASTE] = "KEY_PASTE",
    [KEY_FIND] = "KEY_FIND",
    [KEY_CUT] = "KEY_CUT",
    [KEY_HELP] = "KEY_HELP",
    [KEY_MENU] = "KEY_MENU",
    [KEY_CALC] = "KEY_CALC",
    [KEY_SETUP] = "KEY_SETUP",
    [KEY_SLEEP] = "KEY_SLEEP",
    [KEY_WAKEUP] = "KEY_WAKEUP",
    [KEY_FILE] = "KEY_FILE",
    [KEY_SENDFILE] = "KEY_SENDFILE",
    [KEY_DELETEFILE] = "KEY_DELETEFILE",
    [KEY_XFER] = "KEY_XFER",
    [KEY_PROG1] = "KEY_PROG1",
    [KEY_PROG2] = "KEY_PROG2",
    [KEY_WWW] = "KEY_WWW",
    [KEY_MSDOS] = "KEY_MSDOS",
    [KEY_COFFEE] = "KEY_COFFEE",
    [KEY_ROTATE_DISPLAY] = "KEY_ROTATE_DISPLAY",
    [KEY_CYCLEWINDOWS] = "KEY_CYCLEWINDOWS",
    [KEY_MAIL] = "KEY_MAIL",
    [KEY_BOOKMARKS] = "KEY_BOOKMARKS",
    [KEY_COMPUTER] = "KEY_COMPUTER",
    [KEY_BACK] = "KEY_BACK",
    [KEY_FORWARD] = "KEY_FORWARD",
    [KEY_CLOSECD] = "KEY_CLOSECD",
    [KEY_EJECTCD] = "KEY_EJECTCD",
    [KEY_EJECTCLOSECD] = "KEY_EJECTCLOSECD",
    [KEY_NEXTSONG] = "KEY_NEXTSONG",
    [KEY_PLAYPAUSE] = "KEY_PLAYPAUSE",
    [KEY_PREVIOUSSONG] = "KEY_PREVIOUSSONG",
    [KEY_STOPCD] = "KEY_STOPCD",
    [KEY_RECORD] = "KEY_RECORD",
    [KEY_REWIND] = "KEY_REWIND",
    [KEY_PHONE] = "KEY_PHONE",
    [KEY_ISO] = "KEY_ISO",
    [KEY_CONFIG] = "KEY_CONFIG",
    [KEY_HOMEPAGE] = "KEY_HOMEPAGE",
    [KEY_REFRESH] = "KEY_REFRESH",
    [KEY_EXIT] = "KEY_EXIT",
    [KEY_MOVE] = "KEY_MOVE",
    [KEY_EDIT] = "KEY_EDIT",
    [KEY_SCROLLUP] = "KEY_SCROLLUP",
    [KEY_SCROLLDOWN] = "KEY_SCROLLDOWN",
    [KEY_KPLEFTPAREN] = "KEY_KPLEFTPAREN",
    [KEY_KPRIGHTPAREN] = "KEY_KPRIGHTPAREN",
    [KEY_NEW] = "KEY_NEW",
    [KEY_REDO] = "KEY_REDO",
    [KEY_F13] = "KEY_F13",
    [KEY_F14] = "KEY_F14",
    [KEY_F15] = "KEY_F15",
    [KEY_F16] = "KEY_F16",
    [KEY_F17] = "KEY_F17",
    [KEY_F18] = "KEY_F18",
    [KEY_F19] = "KEY_F19",
    [KEY_F20] = "KEY_F20",
    [KEY_F21] = "KEY_F21",
    [KEY_F22] = "KEY_F22",
    [KEY_F23] = "KEY_F23",
    [KEY_F24] = "KEY_F24",
    [KEY_PLAYCD] = "KEY_PLAYCD",
    [KEY_PAUSECD] = "KEY_PAUSECD",
    [KEY_PROG3] = "KEY_PROG3",
    [KEY_PROG4] = "KEY_PROG4",
    // [KEY_ALL_APPLICATIONS] = "KEY_ALL_APPLICATIONS",
    [KEY_SUSPEND] = "KEY_SUSPEND",
    [KEY_CLOSE] = "KEY_CLOSE",
    [KEY_PLAY] = "KEY_PLAY",
    [KEY_FASTFORWARD] = "KEY_FASTFORWARD",
    [KEY_BASSBOOST] = "KEY_BASSBOOST",
    [KEY_PRINT] = "KEY_PRINT",
    [KEY_HP] = "KEY_HP",
    [KEY_CAMERA] = "KEY_CAMERA",
    [KEY_SOUND] = "KEY_SOUND",
    [KEY_QUESTION] = "KEY_QUESTION",
    [KEY_EMAIL] = "KEY_EMAIL",
    [KEY_CHAT] = "KEY_CHAT",
    [KEY_SEARCH] = "KEY_SEARCH",
    [KEY_CONNECT] = "KEY_CONNECT",
    [KEY_FINANCE] = "KEY_FINANCE",
    [KEY_SPORT] = "KEY_SPORT",
    [KEY_SHOP] = "KEY_SHOP",
    [KEY_ALTERASE] = "KEY_ALTERASE",
    [KEY_CANCEL] = "KEY_CANCEL",
    [KEY_BRIGHTNESSDOWN] = "KEY_BRIGHTNESSDOWN",
    [KEY_BRIGHTNESSUP] = "KEY_BRIGHTNESSUP",
    [KEY_MEDIA] = "KEY_MEDIA",
    [KEY_SWITCHVIDEOMODE] = "KEY_SWITCHVIDEOMODE",
    [KEY_KBDILLUMTOGGLE] = "KEY_KBDILLUMTOGGLE",
    [KEY_KBDILLUMDOWN] = "KEY_KBDILLUMDOWN",
    [KEY_KBDILLUMUP] = "KEY_KBDILLUMUP",
    [KEY_SEND] = "KEY_SEND",
    [KEY_REPLY] = "KEY_REPLY",
    [KEY_FORWARDMAIL] = "KEY_FORWARDMAIL",
    [KEY_SAVE] = "KEY_SAVE",
    [KEY_DOCUMENTS] = "KEY_DOCUMENTS",
    [KEY_BATTERY] = "KEY_BATTERY",
    [KEY_BLUETOOTH] = "KEY_BLUETOOTH",
    [KEY_WLAN] = "KEY_WLAN",
    [KEY_UWB] = "KEY_UWB",
    [KEY_UNKNOWN] = "KEY_UNKNOWN",
    [KEY_VIDEO_NEXT] = "KEY_VIDEO_NEXT",
    [KEY_VIDEO_PREV] = "KEY_VIDEO_PREV",
    [KEY_BRIGHTNESS_CYCLE] = "KEY_BRIGHTNESS_CYCLE",
    [KEY_BRIGHTNESS_AUTO] = "KEY_BRIGHTNESS_AUTO",
    [KEY_DISPLAY_OFF] = "KEY_DISPLAY_OFF",
    [KEY_WWAN] = "KEY_WWAN",
    [KEY_RFKILL] = "KEY_RFKILL",
    [KEY_MICMUTE] = "KEY_MICMUTE",
    [KEY_OK] = "KEY_OK",
    [KEY_SELECT] = "KEY_SELECT",
    [KEY_GOTO] = "KEY_GOTO",
    [KEY_CLEAR] = "KEY_CLEAR",
    [KEY_POWER2] = "KEY_POWER2",
    [KEY_OPTION] = "KEY_OPTION",
    [KEY_INFO] = "KEY_INFO",
    [KEY_TIME] = "KEY_TIME",
    [KEY_VENDOR] = "KEY_VENDOR",
    [KEY_ARCHIVE] = "KEY_ARCHIVE",
    [KEY_PROGRAM] = "KEY_PROGRAM",
    [KEY_CHANNEL] = "KEY_CHANNEL",
    [KEY_FAVORITES] = "KEY_FAVORITES",
    [KEY_EPG] = "KEY_EPG",
    [KEY_PVR] = "KEY_PVR",
    [KEY_MHP] = "KEY_MHP",
    [KEY_LANGUAGE] = "KEY_LANGUAGE",
    [KEY_TITLE] = "KEY_TITLE",
    [KEY_SUBTITLE] = "KEY_SUBTITLE",
    [KEY_ANGLE] = "KEY_ANGLE",
    [KEY_FULL_SCREEN] = "KEY_FULL_SCREEN",
    [KEY_MODE] = "KEY_MODE",
    [KEY_KEYBOARD] = "KEY_KEYBOARD",
    [KEY_ASPECT_RATIO] = "KEY_ASPECT_RATIO",
    [KEY_PC] = "KEY_PC",
    [KEY_TV] = "KEY_TV",
    [KEY_TV2] = "KEY_TV2",
    [KEY_VCR] = "KEY_VCR",
    [KEY_VCR2] = "KEY_VCR2",
    [KEY_SAT] = "KEY_SAT",
    [KEY_SAT2] = "KEY_SAT2",
    [KEY_CD] = "KEY_CD",
    [KEY_TAPE] = "KEY_TAPE",
    [KEY_RADIO] = "KEY_RADIO",
    [KEY_TUNER] = "KEY_TUNER",
    [KEY_PLAYER] = "KEY_PLAYER",
    [KEY_TEXT] = "KEY_TEXT",
    [KEY_DVD] = "KEY_DVD",
    [KEY_AUX] = "KEY_AUX",
    [KEY_MP3] = "KEY_MP3",
    [KEY_AUDIO] = "KEY_AUDIO",
    [KEY_VIDEO] = "KEY_VIDEO",
    [KEY_DIRECTORY] = "KEY_DIRECTORY",
    [KEY_LIST] = "KEY_LIST",
    [KEY_MEMO] = "KEY_MEMO",
    [KEY_CALENDAR] = "KEY_CALENDAR",
    [KEY_RED] = "KEY_RED",
    [KEY_GREEN] = "KEY_GREEN",
    [KEY_YELLOW] = "KEY_YELLOW",
    [KEY_BLUE] = "KEY_BLUE",
    [KEY_CHANNELUP] = "KEY_CHANNELUP",
    [KEY_CHANNELDOWN] = "KEY_CHANNELDOWN",
    [KEY_FIRST] = "KEY_FIRST",
    [KEY_LAST] = "KEY_LAST",
    [KEY_AB] = "KEY_AB",
    [KEY_NEXT] = "KEY_NEXT",
    [KEY_RESTART] = "KEY_RESTART",
    [KEY_SLOW] = "KEY_SLOW",
    [KEY_SHUFFLE] = "KEY_SHUFFLE",
    [KEY_BREAK] = "KEY_BREAK",
    [KEY_PREVIOUS] = "KEY_PREVIOUS",
    [KEY_DIGITS] = "KEY_DIGITS",
    [KEY_TEEN] = "KEY_TEEN",
    [KEY_TWEN] = "KEY_TWEN",
    [KEY_VIDEOPHONE] = "KEY_VIDEOPHONE",
    [KEY_GAMES] = "KEY_GAMES",
    [KEY_ZOOMIN] = "KEY_ZOOMIN",
    [KEY_ZOOMOUT] = "KEY_ZOOMOUT",
    [KEY_ZOOMRESET] = "KEY_ZOOMRESET",
    [KEY_WORDPROCESSOR] = "KEY_WORDPROCESSOR",
    [KEY_EDITOR] = "KEY_EDITOR",
    [KEY_SPREADSHEET] = "KEY_SPREADSHEET",
    [KEY_GRAPHICSEDITOR] = "KEY_GRAPHICSEDITOR",
    [KEY_PRESENTATION] = "KEY_PRESENTATION",
    [KEY_DATABASE] = "KEY_DATABASE",
    [KEY_NEWS] = "KEY_NEWS",
    [KEY_VOICEMAIL] = "KEY_VOICEMAIL",
    [KEY_ADDRESSBOOK] = "KEY_ADDRESSBOOK",
    [KEY_MESSENGER] = "KEY_MESSENGER",
    [KEY_DISPLAYTOGGLE] = "KEY_DISPLAYTOGGLE",
    [KEY_SPELLCHECK] = "KEY_SPELLCHECK",
    [KEY_LOGOFF] = "KEY_LOGOFF",
    [KEY_DOLLAR] = "KEY_DOLLAR",
    [KEY_EURO] = "KEY_EURO",
    [KEY_FRAMEBACK] = "KEY_FRAMEBACK",
    [KEY_FRAMEFORWARD] = "KEY_FRAMEFORWARD",
    [KEY_CONTEXT_MENU] = "KEY_CONTEXT_MENU",
    [KEY_MEDIA_REPEAT] = "KEY_MEDIA_REPEAT",
    [KEY_10CHANNELSUP] = "KEY_10CHANNELSUP",
    [KEY_10CHANNELSDOWN] = "KEY_10CHANNELSDOWN",
    [KEY_IMAGES] = "KEY_IMAGES",
    // [KEY_NOTIFICATION_CENTER] = "KEY_NOTIFICATION_CENTER",
    // [KEY_PICKUP_PHONE] = "KEY_PICKUP_PHONE",
    // [KEY_HANGUP_PHONE] = "KEY_HANGUP_PHONE",
    [KEY_DEL_EOL] = "KEY_DEL_EOL",
    [KEY_DEL_EOS] = "KEY_DEL_EOS",
    [KEY_INS_LINE] = "KEY_INS_LINE",
    [KEY_DEL_LINE] = "KEY_DEL_LINE",
    [KEY_FN] = "KEY_FN",
    [KEY_FN_ESC] = "KEY_FN_ESC",
    [KEY_FN_F1] = "KEY_FN_F1",
    [KEY_FN_F2] = "KEY_FN_F2",
    [KEY_FN_F3] = "KEY_FN_F3",
    [KEY_FN_F4] = "KEY_FN_F4",
    [KEY_FN_F5] = "KEY_FN_F5",
    [KEY_FN_F6] = "KEY_FN_F6",
    [KEY_FN_F7] = "KEY_FN_F7",
    [KEY_FN_F8] = "KEY_FN_F8",
    [KEY_FN_F9] = "KEY_FN_F9",
    [KEY_FN_F10] = "KEY_FN_F10",
    [KEY_FN_F11] = "KEY_FN_F11",
    [KEY_FN_F12] = "KEY_FN_F12",
    [KEY_FN_1] = "KEY_FN_1",
    [KEY_FN_2] = "KEY_FN_2",
    [KEY_FN_D] = "KEY_FN_D",
    [KEY_FN_E] = "KEY_FN_E",
    [KEY_FN_F] = "KEY_FN_F",
    [KEY_FN_S] = "KEY_FN_S",
    [KEY_FN_B] = "KEY_FN_B",
    // [KEY_FN_RIGHT_SHIFT] = "KEY_FN_RIGHT_SHIFT",
    [KEY_BRL_DOT1] = "KEY_BRL_DOT1",
    [KEY_BRL_DOT2] = "KEY_BRL_DOT2",
    [KEY_BRL_DOT3] = "KEY_BRL_DOT3",
    [KEY_BRL_DOT4] = "KEY_BRL_DOT4",
    [KEY_BRL_DOT5] = "KEY_BRL_DOT5",
    [KEY_BRL_DOT6] = "KEY_BRL_DOT6",
    [KEY_BRL_DOT7] = "KEY_BRL_DOT7",
    [KEY_BRL_DOT8] = "KEY_BRL_DOT8",
    [KEY_BRL_DOT9] = "KEY_BRL_DOT9",
    [KEY_BRL_DOT10] = "KEY_BRL_DOT10",
    [KEY_NUMERIC_0] = "KEY_NUMERIC_0",
    [KEY_NUMERIC_1] = "KEY_NUMERIC_1",
    [KEY_NUMERIC_2] = "KEY_NUMERIC_2",
    [KEY_NUMERIC_3] = "KEY_NUMERIC_3",
    [KEY_NUMERIC_4] = "KEY_NUMERIC_4",
    [KEY_NUMERIC_5] = "KEY_NUMERIC_5",
    [KEY_NUMERIC_6] = "KEY_NUMERIC_6",
    [KEY_NUMERIC_7] = "KEY_NUMERIC_7",
    [KEY_NUMERIC_8] = "KEY_NUMERIC_8",
    [KEY_NUMERIC_9] = "KEY_NUMERIC_9",
    [KEY_NUMERIC_STAR] = "KEY_NUMERIC_STAR",
    [KEY_NUMERIC_POUND] = "KEY_NUMERIC_POUND",
    [KEY_NUMERIC_A] = "KEY_NUMERIC_A",
    [KEY_NUMERIC_B] = "KEY_NUMERIC_B",
    [KEY_NUMERIC_C] = "KEY_NUMERIC_C",
    [KEY_NUMERIC_D] = "KEY_NUMERIC_D",
    [KEY_CAMERA_FOCUS] = "KEY_CAMERA_FOCUS",
    [KEY_WPS_BUTTON] = "KEY_WPS_BUTTON",
    [KEY_TOUCHPAD_TOGGLE] = "KEY_TOUCHPAD_TOGGLE",
    [KEY_TOUCHPAD_ON] = "KEY_TOUCHPAD_ON",
    [KEY_TOUCHPAD_OFF] = "KEY_TOUCHPAD_OFF",
    [KEY_CAMERA_ZOOMIN] = "KEY_CAMERA_ZOOMIN",
    [KEY_CAMERA_ZOOMOUT] = "KEY_CAMERA_ZOOMOUT",
    [KEY_CAMERA_UP] = "KEY_CAMERA_UP",
    [KEY_CAMERA_DOWN] = "KEY_CAMERA_DOWN",
    [KEY_CAMERA_LEFT] = "KEY_CAMERA_LEFT",
    [KEY_CAMERA_RIGHT] = "KEY_CAMERA_RIGHT",
    [KEY_ATTENDANT_ON] = "KEY_ATTENDANT_ON",
    [KEY_ATTENDANT_OFF] = "KEY_ATTENDANT_OFF",
    [KEY_ATTENDANT_TOGGLE] = "KEY_ATTENDANT_TOGGLE",
    [KEY_LIGHTS_TOGGLE] = "KEY_LIGHTS_TOGGLE",
    [KEY_ALS_TOGGLE] = "KEY_ALS_TOGGLE",
    [KEY_ROTATE_LOCK_TOGGLE] = "KEY_ROTATE_LOCK_TOGGLE",
    [KEY_BUTTONCONFIG] = "KEY_BUTTONCONFIG",
    [KEY_TASKMANAGER] = "KEY_TASKMANAGER",
    [KEY_JOURNAL] = "KEY_JOURNAL",
    [KEY_CONTROLPANEL] = "KEY_CONTROLPANEL",
    [KEY_APPSELECT] = "KEY_APPSELECT",
    [KEY_SCREENSAVER] = "KEY_SCREENSAVER",
    [KEY_VOICECOMMAND] = "KEY_VOICECOMMAND",
    [KEY_ASSISTANT] = "KEY_ASSISTANT",
    [KEY_KBD_LAYOUT_NEXT] = "KEY_KBD_LAYOUT_NEXT",
    // [KEY_EMOJI_PICKER] = "KEY_EMOJI_PICKER",
    //[KEY_DICTATE] = "KEY_DICTATE",
    //[KEY_CAMERA_ACCESS_ENABLE] = "KEY_CAMERA_ACCESS_ENABLE",
    //[KEY_CAMERA_ACCESS_DISABLE] = "KEY_CAMERA_ACCESS_DISABLE",
    //[KEY_CAMERA_ACCESS_TOGGLE] = "KEY_CAMERA_ACCESS_TOGGLE",
    [KEY_BRIGHTNESS_MIN] = "KEY_BRIGHTNESS_MIN",
    [KEY_BRIGHTNESS_MAX] = "KEY_BRIGHTNESS_MAX",
    [KEY_KBDINPUTASSIST_PREV] = "KEY_KBDINPUTASSIST_PREV",
    [KEY_KBDINPUTASSIST_NEXT] = "KEY_KBDINPUTASSIST_NEXT",
    [KEY_KBDINPUTASSIST_PREVGROUP] = "KEY_KBDINPUTASSIST_PREVGROUP",
    [KEY_KBDINPUTASSIST_NEXTGROUP] = "KEY_KBDINPUTASSIST_NEXTGROUP",
    [KEY_KBDINPUTASSIST_ACCEPT] = "KEY_KBDINPUTASSIST_ACCEPT",
    [KEY_KBDINPUTASSIST_CANCEL] = "KEY_KBDINPUTASSIST_CANCEL",
    [KEY_RIGHT_UP] = "KEY_RIGHT_UP",
    [KEY_RIGHT_DOWN] = "KEY_RIGHT_DOWN",
    [KEY_LEFT_UP] = "KEY_LEFT_UP",
    [KEY_LEFT_DOWN] = "KEY_LEFT_DOWN",
    [KEY_ROOT_MENU] = "KEY_ROOT_MENU",
    [KEY_MEDIA_TOP_MENU] = "KEY_MEDIA_TOP_MENU",
    [KEY_NUMERIC_11] = "KEY_NUMERIC_11",
    [KEY_NUMERIC_12] = "KEY_NUMERIC_12",
    [KEY_AUDIO_DESC] = "KEY_AUDIO_DESC",
    [KEY_3D_MODE] = "KEY_3D_MODE",
    [KEY_NEXT_FAVORITE] = "KEY_NEXT_FAVORITE",
    [KEY_STOP_RECORD] = "KEY_STOP_RECORD",
    [KEY_PAUSE_RECORD] = "KEY_PAUSE_RECORD",
    [KEY_VOD] = "KEY_VOD",
    [KEY_UNMUTE] = "KEY_UNMUTE",
    [KEY_FASTREVERSE] = "KEY_FASTREVERSE",
    [KEY_SLOWREVERSE] = "KEY_SLOWREVERSE",
    [KEY_DATA] = "KEY_DATA",
    [KEY_ONSCREEN_KEYBOARD] = "KEY_ONSCREEN_KEYBOARD",
    [KEY_PRIVACY_SCREEN_TOGGLE] = "KEY_PRIVACY_SCREEN_TOGGLE",
    [KEY_SELECTIVE_SCREENSHOT] = "KEY_SELECTIVE_SCREENSHOT",
    // [KEY_NEXT_ELEMENT] = "KEY_NEXT_ELEMENT",
    // [KEY_PREVIOUS_ELEMENT] = "KEY_PREVIOUS_ELEMENT",
    // [KEY_AUTOPILOT_ENGAGE_TOGGLE] = "KEY_AUTOPILOT_ENGAGE_TOGGLE",
    // [KEY_MARK_WAYPOINT] = "KEY_MARK_WAYPOINT",
    // [KEY_SOS] = "KEY_SOS",
    // [KEY_NAV_CHART] = "KEY_NAV_CHART",
    // [KEY_FISHING_CHART] = "KEY_FISHING_CHART",
    // [KEY_SINGLE_RANGE_RADAR] = "KEY_SINGLE_RANGE_RADAR",
    // [KEY_DUAL_RANGE_RADAR] = "KEY_DUAL_RANGE_RADAR",
    // [KEY_RADAR_OVERLAY] = "KEY_RADAR_OVERLAY",
    // [KEY_TRADITIONAL_SONAR] = "KEY_TRADITIONAL_SONAR",
    //  [KEY_CLEARVU_SONAR] = "KEY_CLEARVU_SONAR",
    // [KEY_SIDEVU_SONAR] = "KEY_SIDEVU_SONAR",
    // [KEY_NAV_INFO] = "KEY_NAV_INFO",
    // [KEY_BRIGHTNESS_MENU] = "KEY_BRIGHTNESS_MENU",
    [KEY_MACRO1] = "KEY_MACRO1",
    [KEY_MACRO2] = "KEY_MACRO2",
    [KEY_MACRO3] = "KEY_MACRO3",
    [KEY_MACRO4] = "KEY_MACRO4",
    [KEY_MACRO5] = "KEY_MACRO5",
    [KEY_MACRO6] = "KEY_MACRO6",
    [KEY_MACRO7] = "KEY_MACRO7",
    [KEY_MACRO8] = "KEY_MACRO8",
    [KEY_MACRO9] = "KEY_MACRO9",
    [KEY_MACRO10] = "KEY_MACRO10",
    [KEY_MACRO11] = "KEY_MACRO11",
    [KEY_MACRO12] = "KEY_MACRO12",
    [KEY_MACRO13] = "KEY_MACRO13",
    [KEY_MACRO14] = "KEY_MACRO14",
    [KEY_MACRO15] = "KEY_MACRO15",
    [KEY_MACRO16] = "KEY_MACRO16",
    [KEY_MACRO17] = "KEY_MACRO17",
    [KEY_MACRO18] = "KEY_MACRO18",
    [KEY_MACRO19] = "KEY_MACRO19",
    [KEY_MACRO20] = "KEY_MACRO20",
    [KEY_MACRO21] = "KEY_MACRO21",
    [KEY_MACRO22] = "KEY_MACRO22",
    [KEY_MACRO23] = "KEY_MACRO23",
    [KEY_MACRO24] = "KEY_MACRO24",
    [KEY_MACRO25] = "KEY_MACRO25",
    [KEY_MACRO26] = "KEY_MACRO26",
    [KEY_MACRO27] = "KEY_MACRO27",
    [KEY_MACRO28] = "KEY_MACRO28",
    [KEY_MACRO29] = "KEY_MACRO29",
    [KEY_MACRO30] = "KEY_MACRO30",
    [KEY_MACRO_RECORD_START] = "KEY_MACRO_RECORD_START",
    [KEY_MACRO_RECORD_STOP] = "KEY_MACRO_RECORD_STOP",
    [KEY_MACRO_PRESET_CYCLE] = "KEY_MACRO_PRESET_CYCLE",
    [KEY_MACRO_PRESET1] = "KEY_MACRO_PRESET1",
    [KEY_MACRO_PRESET2] = "KEY_MACRO_PRESET2",
    [KEY_MACRO_PRESET3] = "KEY_MACRO_PRESET3",
    [KEY_KBD_LCD_MENU1] = "KEY_KBD_LCD_MENU1",
    [KEY_KBD_LCD_MENU2] = "KEY_KBD_LCD_MENU2",
    [KEY_KBD_LCD_MENU3] = "KEY_KBD_LCD_MENU3",
    [KEY_KBD_LCD_MENU4] = "KEY_KBD_LCD_MENU4",
    [KEY_KBD_LCD_MENU5] = "KEY_KBD_LCD_MENU5",
    [KEY_MAX] = "KEY_MAX",
    [BTN_0] = "BTN_0",
    [BTN_1] = "BTN_1",
    [BTN_2] = "BTN_2",
    [BTN_3] = "BTN_3",
    [BTN_4] = "BTN_4",
    [BTN_5] = "BTN_5",
    [BTN_6] = "BTN_6",
    [BTN_7] = "BTN_7",
    [BTN_8] = "BTN_8",
    [BTN_9] = "BTN_9",
    [BTN_LEFT] = "BTN_LEFT",
    [BTN_RIGHT] = "BTN_RIGHT",
    [BTN_MIDDLE] = "BTN_MIDDLE",
    [BTN_SIDE] = "BTN_SIDE",
    [BTN_EXTRA] = "BTN_EXTRA",
    [BTN_FORWARD] = "BTN_FORWARD",
    [BTN_BACK] = "BTN_BACK",
    [BTN_TASK] = "BTN_TASK",
    [BTN_TRIGGER] = "BTN_TRIGGER",
    [BTN_THUMB] = "BTN_THUMB",
    [BTN_THUMB2] = "BTN_THUMB2",
    [BTN_TOP] = "BTN_TOP",
    [BTN_TOP2] = "BTN_TOP2",
    [BTN_PINKIE] = "BTN_PINKIE",
    [BTN_BASE] = "BTN_BASE",
    [BTN_BASE2] = "BTN_BASE2",
    [BTN_BASE3] = "BTN_BASE3",
    [BTN_BASE4] = "BTN_BASE4",
    [BTN_BASE5] = "BTN_BASE5",
    [BTN_BASE6] = "BTN_BASE6",
    [BTN_DEAD] = "BTN_DEAD",
    [BTN_SOUTH] = "BTN_SOUTH",
    [BTN_EAST] = "BTN_EAST",
    [BTN_C] = "BTN_C",
    [BTN_NORTH] = "BTN_NORTH",
    [BTN_WEST] = "BTN_WEST",
    [BTN_Z] = "BTN_Z",
    [BTN_TL] = "BTN_TL",
    [BTN_TR] = "BTN_TR",
    [BTN_TL2] = "BTN_TL2",
    [BTN_TR2] = "BTN_TR2",
    [BTN_SELECT] = "BTN_SELECT",
    [BTN_START] = "BTN_START",
    [BTN_MODE] = "BTN_MODE",
    [BTN_THUMBL] = "BTN_THUMBL",
    [BTN_THUMBR] = "BTN_THUMBR",
    [BTN_TOOL_PEN] = "BTN_TOOL_PEN",
    [BTN_TOOL_RUBBER] = "BTN_TOOL_RUBBER",
    [BTN_TOOL_BRUSH] = "BTN_TOOL_BRUSH",
    [BTN_TOOL_PENCIL] = "BTN_TOOL_PENCIL",
    [BTN_TOOL_AIRBRUSH] = "BTN_TOOL_AIRBRUSH",
    [BTN_TOOL_FINGER] = "BTN_TOOL_FINGER",
    [BTN_TOOL_MOUSE] = "BTN_TOOL_MOUSE",
    [BTN_TOOL_LENS] = "BTN_TOOL_LENS",
    [BTN_TOOL_QUINTTAP] = "BTN_TOOL_QUINTTAP",
    [BTN_STYLUS3] = "BTN_STYLUS3",
    [BTN_TOUCH] = "BTN_TOUCH",
    [BTN_STYLUS] = "BTN_STYLUS",
    [BTN_STYLUS2] = "BTN_STYLUS2",
    [BTN_TOOL_DOUBLETAP] = "BTN_TOOL_DOUBLETAP",
    [BTN_TOOL_TRIPLETAP] = "BTN_TOOL_TRIPLETAP",
    [BTN_TOOL_QUADTAP] = "BTN_TOOL_QUADTAP",
    [BTN_GEAR_DOWN] = "BTN_GEAR_DOWN",
    [BTN_GEAR_UP] = "BTN_GEAR_UP",
    [BTN_DPAD_UP] = "BTN_DPAD_UP",
    [BTN_DPAD_DOWN] = "BTN_DPAD_DOWN",
    [BTN_DPAD_LEFT] = "BTN_DPAD_LEFT",
    [BTN_DPAD_RIGHT] = "BTN_DPAD_RIGHT",
    [BTN_TRIGGER_HAPPY1] = "BTN_TRIGGER_HAPPY1",
    [BTN_TRIGGER_HAPPY2] = "BTN_TRIGGER_HAPPY2",
    [BTN_TRIGGER_HAPPY3] = "BTN_TRIGGER_HAPPY3",
    [BTN_TRIGGER_HAPPY4] = "BTN_TRIGGER_HAPPY4",
    [BTN_TRIGGER_HAPPY5] = "BTN_TRIGGER_HAPPY5",
    [BTN_TRIGGER_HAPPY6] = "BTN_TRIGGER_HAPPY6",
    [BTN_TRIGGER_HAPPY7] = "BTN_TRIGGER_HAPPY7",
    [BTN_TRIGGER_HAPPY8] = "BTN_TRIGGER_HAPPY8",
    [BTN_TRIGGER_HAPPY9] = "BTN_TRIGGER_HAPPY9",
    [BTN_TRIGGER_HAPPY10] = "BTN_TRIGGER_HAPPY10",
    [BTN_TRIGGER_HAPPY11] = "BTN_TRIGGER_HAPPY11",
    [BTN_TRIGGER_HAPPY12] = "BTN_TRIGGER_HAPPY12",
    [BTN_TRIGGER_HAPPY13] = "BTN_TRIGGER_HAPPY13",
    [BTN_TRIGGER_HAPPY14] = "BTN_TRIGGER_HAPPY14",
    [BTN_TRIGGER_HAPPY15] = "BTN_TRIGGER_HAPPY15",
    [BTN_TRIGGER_HAPPY16] = "BTN_TRIGGER_HAPPY16",
    [BTN_TRIGGER_HAPPY17] = "BTN_TRIGGER_HAPPY17",
    [BTN_TRIGGER_HAPPY18] = "BTN_TRIGGER_HAPPY18",
    [BTN_TRIGGER_HAPPY19] = "BTN_TRIGGER_HAPPY19",
    [BTN_TRIGGER_HAPPY20] = "BTN_TRIGGER_HAPPY20",
    [BTN_TRIGGER_HAPPY21] = "BTN_TRIGGER_HAPPY21",
    [BTN_TRIGGER_HAPPY22] = "BTN_TRIGGER_HAPPY22",
    [BTN_TRIGGER_HAPPY23] = "BTN_TRIGGER_HAPPY23",
    [BTN_TRIGGER_HAPPY24] = "BTN_TRIGGER_HAPPY24",
    [BTN_TRIGGER_HAPPY25] = "BTN_TRIGGER_HAPPY25",
    [BTN_TRIGGER_HAPPY26] = "BTN_TRIGGER_HAPPY26",
    [BTN_TRIGGER_HAPPY27] = "BTN_TRIGGER_HAPPY27",
    [BTN_TRIGGER_HAPPY28] = "BTN_TRIGGER_HAPPY28",
    [BTN_TRIGGER_HAPPY29] = "BTN_TRIGGER_HAPPY29",
    [BTN_TRIGGER_HAPPY30] = "BTN_TRIGGER_HAPPY30",
    [BTN_TRIGGER_HAPPY31] = "BTN_TRIGGER_HAPPY31",
    [BTN_TRIGGER_HAPPY32] = "BTN_TRIGGER_HAPPY32",
    [BTN_TRIGGER_HAPPY33] = "BTN_TRIGGER_HAPPY33",
    [BTN_TRIGGER_HAPPY34] = "BTN_TRIGGER_HAPPY34",
    [BTN_TRIGGER_HAPPY35] = "BTN_TRIGGER_HAPPY35",
    [BTN_TRIGGER_HAPPY36] = "BTN_TRIGGER_HAPPY36",
    [BTN_TRIGGER_HAPPY37] = "BTN_TRIGGER_HAPPY37",
    [BTN_TRIGGER_HAPPY38] = "BTN_TRIGGER_HAPPY38",
    [BTN_TRIGGER_HAPPY39] = "BTN_TRIGGER_HAPPY39",
    [BTN_TRIGGER_HAPPY40] = "BTN_TRIGGER_HAPPY40",
};

static const char * const led_map[LED_MAX + 1] = {
    [LED_NUML] = "LED_NUML",
    [LED_CAPSL] = "LED_CAPSL",
    [LED_SCROLLL] = "LED_SCROLLL",
    [LED_COMPOSE] = "LED_COMPOSE",
    [LED_KANA] = "LED_KANA",
    [LED_SLEEP] = "LED_SLEEP",
    [LED_SUSPEND] = "LED_SUSPEND",
    [LED_MUTE] = "LED_MUTE",
    [LED_MISC] = "LED_MISC",
    [LED_MAIL] = "LED_MAIL",
    [LED_CHARGING] = "LED_CHARGING",
    [LED_MAX] = "LED_MAX",
};

static const char * const snd_map[SND_MAX + 1] = {
    [SND_CLICK] = "SND_CLICK",
    [SND_BELL] = "SND_BELL",
    [SND_TONE] = "SND_TONE",
    [SND_MAX] = "SND_MAX",
};

static const char * const msc_map[MSC_MAX + 1] = {
    [MSC_SERIAL] = "MSC_SERIAL",
    [MSC_PULSELED] = "MSC_PULSELED",
    [MSC_GESTURE] = "MSC_GESTURE",
    [MSC_RAW] = "MSC_RAW",
    [MSC_SCAN] = "MSC_SCAN",
    [MSC_TIMESTAMP] = "MSC_TIMESTAMP",
    [MSC_MAX] = "MSC_MAX",
};

static const char * const sw_map[SW_MAX + 1] = {
    [SW_LID] = "SW_LID",
    [SW_TABLET_MODE] = "SW_TABLET_MODE",
    [SW_HEADPHONE_INSERT] = "SW_HEADPHONE_INSERT",
    [SW_RFKILL_ALL] = "SW_RFKILL_ALL",
    [SW_MICROPHONE_INSERT] = "SW_MICROPHONE_INSERT",
    [SW_DOCK] = "SW_DOCK",
    [SW_LINEOUT_INSERT] = "SW_LINEOUT_INSERT",
    [SW_JACK_PHYSICAL_INSERT] = "SW_JACK_PHYSICAL_INSERT",
    [SW_VIDEOOUT_INSERT] = "SW_VIDEOOUT_INSERT",
    [SW_CAMERA_LENS_COVER] = "SW_CAMERA_LENS_COVER",
    [SW_KEYPAD_SLIDE] = "SW_KEYPAD_SLIDE",
    [SW_FRONT_PROXIMITY] = "SW_FRONT_PROXIMITY",
    [SW_ROTATE_LOCK] = "SW_ROTATE_LOCK",
    [SW_LINEIN_INSERT] = "SW_LINEIN_INSERT",
    [SW_MUTE_DEVICE] = "SW_MUTE_DEVICE",
    [SW_PEN_INSERTED] = "SW_PEN_INSERTED",
    [SW_MACHINE_COVER] = "SW_MACHINE_COVER",
};

static const char * const ff_map[FF_MAX + 1] = {
    [FF_STATUS_STOPPED] = "FF_STATUS_STOPPED",
    [FF_STATUS_MAX] = "FF_STATUS_MAX",
    [FF_RUMBLE] = "FF_RUMBLE",
    [FF_PERIODIC] = "FF_PERIODIC",
    [FF_CONSTANT] = "FF_CONSTANT",
    [FF_SPRING] = "FF_SPRING",
    [FF_FRICTION] = "FF_FRICTION",
    [FF_DAMPER] = "FF_DAMPER",
    [FF_INERTIA] = "FF_INERTIA",
    [FF_RAMP] = "FF_RAMP",
    [FF_SQUARE] = "FF_SQUARE",
    [FF_TRIANGLE] = "FF_TRIANGLE",
    [FF_SINE] = "FF_SINE",
    [FF_SAW_UP] = "FF_SAW_UP",
    [FF_SAW_DOWN] = "FF_SAW_DOWN",
    [FF_CUSTOM] = "FF_CUSTOM",
    [FF_GAIN] = "FF_GAIN",
    [FF_AUTOCENTER] = "FF_AUTOCENTER",
    [FF_MAX] = "FF_MAX",
};

static const char * const syn_map[SYN_MAX + 1] = {
    [SYN_REPORT] = "SYN_REPORT",
    [SYN_CONFIG] = "SYN_CONFIG",
    [SYN_MT_REPORT] = "SYN_MT_REPORT",
    [SYN_DROPPED] = "SYN_DROPPED",
    [SYN_MAX] = "SYN_MAX",
};

static const char * const rep_map[REP_MAX + 1] = {
    [REP_DELAY] = "REP_DELAY",
    [REP_PERIOD] = "REP_PERIOD",
};

static const char * const input_prop_map[INPUT_PROP_MAX + 1] = {
    [INPUT_PROP_POINTER] = "INPUT_PROP_POINTER",
    [INPUT_PROP_DIRECT] = "INPUT_PROP_DIRECT",
    [INPUT_PROP_BUTTONPAD] = "INPUT_PROP_BUTTONPAD",
    [INPUT_PROP_SEMI_MT] = "INPUT_PROP_SEMI_MT",
    [INPUT_PROP_TOPBUTTONPAD] = "INPUT_PROP_TOPBUTTONPAD",
    [INPUT_PROP_POINTING_STICK] = "INPUT_PROP_POINTING_STICK",
    [INPUT_PROP_ACCELEROMETER] = "INPUT_PROP_ACCELEROMETER",
    [INPUT_PROP_MAX] = "INPUT_PROP_MAX",
};

static const char * const mt_tool_map[MT_TOOL_MAX + 1] = {
    [MT_TOOL_FINGER] = "MT_TOOL_FINGER",
    [MT_TOOL_PEN] = "MT_TOOL_PEN",
    [MT_TOOL_PALM] = "MT_TOOL_PALM",
    [MT_TOOL_DIAL] = "MT_TOOL_DIAL",
    [MT_TOOL_MAX] = "MT_TOOL_MAX",
};

static const char * const * const event_type_map[EV_MAX + 1] = {
    [EV_REL] = rel_map,
    [EV_ABS] = abs_map,
    [EV_KEY] = key_map,
    [EV_LED] = led_map,
    [EV_SND] = snd_map,
    [EV_MSC] = msc_map,
    [EV_SW] = sw_map,
    [EV_FF] = ff_map,
    [EV_SYN] = syn_map,
    [EV_REP] = rep_map,
};

#if __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Winitializer-overrides"
#elif __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Woverride-init"
#endif
static const int ev_max[EV_MAX + 1] = {
    SYN_MAX,
    KEY_MAX,
    REL_MAX,
    ABS_MAX,
    MSC_MAX,
    SW_MAX,
    -1,
    -1,
    -1,
    -1,
    -1,
    -1,
    -1,
    -1,
    -1,
    -1,
    -1,
    LED_MAX,
    SND_MAX,
    -1,
    REP_MAX,
    FF_MAX,
    -1,
    -1,
    -1,
    -1,
    -1,
    -1,
    -1,
    -1,
    -1,
    -1,
};
#if __clang__
#pragma clang diagnostic pop /* "-Winitializer-overrides" */
#elif __GNUC__
#pragma GCC diagnostic pop /* "-Woverride-init" */
#endif

struct name_entry {
    const char *name;
    unsigned int value;
};

static const struct name_entry tool_type_names[] = {
    { .name = "MT_TOOL_DIAL", .value = MT_TOOL_DIAL },
    { .name = "MT_TOOL_FINGER", .value = MT_TOOL_FINGER },
    { .name = "MT_TOOL_MAX", .value = MT_TOOL_MAX },
    { .name = "MT_TOOL_PALM", .value = MT_TOOL_PALM },
    { .name = "MT_TOOL_PEN", .value = MT_TOOL_PEN },
};

static const struct name_entry ev_names[] = {
    { .name = "EV_ABS", .value = EV_ABS },
    { .name = "EV_FF", .value = EV_FF },
    { .name = "EV_FF_STATUS", .value = EV_FF_STATUS },
    { .name = "EV_KEY", .value = EV_KEY },
    { .name = "EV_LED", .value = EV_LED },
    { .name = "EV_MAX", .value = EV_MAX },
    { .name = "EV_MSC", .value = EV_MSC },
    { .name = "EV_PWR", .value = EV_PWR },
    { .name = "EV_REL", .value = EV_REL },
    { .name = "EV_REP", .value = EV_REP },
    { .name = "EV_SND", .value = EV_SND },
    { .name = "EV_SW", .value = EV_SW },
    { .name = "EV_SYN", .value = EV_SYN },
};

static const struct name_entry code_names[] = {
    { .name = "ABS_BRAKE", .value = ABS_BRAKE },
    { .name = "ABS_DISTANCE", .value = ABS_DISTANCE },
    { .name = "ABS_GAS", .value = ABS_GAS },
    { .name = "ABS_HAT0X", .value = ABS_HAT0X },
    { .name = "ABS_HAT0Y", .value = ABS_HAT0Y },
    { .name = "ABS_HAT1X", .value = ABS_HAT1X },
    { .name = "ABS_HAT1Y", .value = ABS_HAT1Y },
    { .name = "ABS_HAT2X", .value = ABS_HAT2X },
    { .name = "ABS_HAT2Y", .value = ABS_HAT2Y },
    { .name = "ABS_HAT3X", .value = ABS_HAT3X },
    { .name = "ABS_HAT3Y", .value = ABS_HAT3Y },
    { .name = "ABS_MAX", .value = ABS_MAX },
    { .name = "ABS_MISC", .value = ABS_MISC },
    { .name = "ABS_MT_BLOB_ID", .value = ABS_MT_BLOB_ID },
    { .name = "ABS_MT_DISTANCE", .value = ABS_MT_DISTANCE },
    { .name = "ABS_MT_ORIENTATION", .value = ABS_MT_ORIENTATION },
    { .name = "ABS_MT_POSITION_X", .value = ABS_MT_POSITION_X },
    { .name = "ABS_MT_POSITION_Y", .value = ABS_MT_POSITION_Y },
    { .name = "ABS_MT_PRESSURE", .value = ABS_MT_PRESSURE },
    { .name = "ABS_MT_SLOT", .value = ABS_MT_SLOT },
    { .name = "ABS_MT_TOOL_TYPE", .value = ABS_MT_TOOL_TYPE },
    { .name = "ABS_MT_TOOL_X", .value = ABS_MT_TOOL_X },
    { .name = "ABS_MT_TOOL_Y", .value = ABS_MT_TOOL_Y },
    { .name = "ABS_MT_TOUCH_MAJOR", .value = ABS_MT_TOUCH_MAJOR },
    { .name = "ABS_MT_TOUCH_MINOR", .value = ABS_MT_TOUCH_MINOR },
    { .name = "ABS_MT_TRACKING_ID", .value = ABS_MT_TRACKING_ID },
    { .name = "ABS_MT_WIDTH_MAJOR", .value = ABS_MT_WIDTH_MAJOR },
    { .name = "ABS_MT_WIDTH_MINOR", .value = ABS_MT_WIDTH_MINOR },
    { .name = "ABS_PRESSURE", .value = ABS_PRESSURE },
    // { .name = "ABS_PROFILE", .value = ABS_PROFILE },
    { .name = "ABS_RESERVED", .value = ABS_RESERVED },
    { .name = "ABS_RUDDER", .value = ABS_RUDDER },
    { .name = "ABS_RX", .value = ABS_RX },
    { .name = "ABS_RY", .value = ABS_RY },
    { .name = "ABS_RZ", .value = ABS_RZ },
    { .name = "ABS_THROTTLE", .value = ABS_THROTTLE },
    { .name = "ABS_TILT_X", .value = ABS_TILT_X },
    { .name = "ABS_TILT_Y", .value = ABS_TILT_Y },
    { .name = "ABS_TOOL_WIDTH", .value = ABS_TOOL_WIDTH },
    { .name = "ABS_VOLUME", .value = ABS_VOLUME },
    { .name = "ABS_WHEEL", .value = ABS_WHEEL },
    { .name = "ABS_X", .value = ABS_X },
    { .name = "ABS_Y", .value = ABS_Y },
    { .name = "ABS_Z", .value = ABS_Z },
    { .name = "BTN_0", .value = BTN_0 },
    { .name = "BTN_1", .value = BTN_1 },
    { .name = "BTN_2", .value = BTN_2 },
    { .name = "BTN_3", .value = BTN_3 },
    { .name = "BTN_4", .value = BTN_4 },
    { .name = "BTN_5", .value = BTN_5 },
    { .name = "BTN_6", .value = BTN_6 },
    { .name = "BTN_7", .value = BTN_7 },
    { .name = "BTN_8", .value = BTN_8 },
    { .name = "BTN_9", .value = BTN_9 },
    { .name = "BTN_A", .value = BTN_A },
    { .name = "BTN_B", .value = BTN_B },
    { .name = "BTN_BACK", .value = BTN_BACK },
    { .name = "BTN_BASE", .value = BTN_BASE },
    { .name = "BTN_BASE2", .value = BTN_BASE2 },
    { .name = "BTN_BASE3", .value = BTN_BASE3 },
    { .name = "BTN_BASE4", .value = BTN_BASE4 },
    { .name = "BTN_BASE5", .value = BTN_BASE5 },
    { .name = "BTN_BASE6", .value = BTN_BASE6 },
    { .name = "BTN_C", .value = BTN_C },
    { .name = "BTN_DEAD", .value = BTN_DEAD },
    { .name = "BTN_DPAD_DOWN", .value = BTN_DPAD_DOWN },
    { .name = "BTN_DPAD_LEFT", .value = BTN_DPAD_LEFT },
    { .name = "BTN_DPAD_RIGHT", .value = BTN_DPAD_RIGHT },
    { .name = "BTN_DPAD_UP", .value = BTN_DPAD_UP },
    { .name = "BTN_EAST", .value = BTN_EAST },
    { .name = "BTN_EXTRA", .value = BTN_EXTRA },
    { .name = "BTN_FORWARD", .value = BTN_FORWARD },
    { .name = "BTN_GEAR_DOWN", .value = BTN_GEAR_DOWN },
    { .name = "BTN_GEAR_UP", .value = BTN_GEAR_UP },
    { .name = "BTN_LEFT", .value = BTN_LEFT },
    { .name = "BTN_MIDDLE", .value = BTN_MIDDLE },
    { .name = "BTN_MODE", .value = BTN_MODE },
    { .name = "BTN_NORTH", .value = BTN_NORTH },
    { .name = "BTN_PINKIE", .value = BTN_PINKIE },
    { .name = "BTN_RIGHT", .value = BTN_RIGHT },
    { .name = "BTN_SELECT", .value = BTN_SELECT },
    { .name = "BTN_SIDE", .value = BTN_SIDE },
    { .name = "BTN_SOUTH", .value = BTN_SOUTH },
    { .name = "BTN_START", .value = BTN_START },
    { .name = "BTN_STYLUS", .value = BTN_STYLUS },
    { .name = "BTN_STYLUS2", .value = BTN_STYLUS2 },
    { .name = "BTN_STYLUS3", .value = BTN_STYLUS3 },
    { .name = "BTN_TASK", .value = BTN_TASK },
    { .name = "BTN_THUMB", .value = BTN_THUMB },
    { .name = "BTN_THUMB2", .value = BTN_THUMB2 },
    { .name = "BTN_THUMBL", .value = BTN_THUMBL },
    { .name = "BTN_THUMBR", .value = BTN_THUMBR },
    { .name = "BTN_TL", .value = BTN_TL },
    { .name = "BTN_TL2", .value = BTN_TL2 },
    { .name = "BTN_TOOL_AIRBRUSH", .value = BTN_TOOL_AIRBRUSH },
    { .name = "BTN_TOOL_BRUSH", .value = BTN_TOOL_BRUSH },
    { .name = "BTN_TOOL_DOUBLETAP", .value = BTN_TOOL_DOUBLETAP },
    { .name = "BTN_TOOL_FINGER", .value = BTN_TOOL_FINGER },
    { .name = "BTN_TOOL_LENS", .value = BTN_TOOL_LENS },
    { .name = "BTN_TOOL_MOUSE", .value = BTN_TOOL_MOUSE },
    { .name = "BTN_TOOL_PEN", .value = BTN_TOOL_PEN },
    { .name = "BTN_TOOL_PENCIL", .value = BTN_TOOL_PENCIL },
    { .name = "BTN_TOOL_QUADTAP", .value = BTN_TOOL_QUADTAP },
    { .name = "BTN_TOOL_QUINTTAP", .value = BTN_TOOL_QUINTTAP },
    { .name = "BTN_TOOL_RUBBER", .value = BTN_TOOL_RUBBER },
    { .name = "BTN_TOOL_TRIPLETAP", .value = BTN_TOOL_TRIPLETAP },
    { .name = "BTN_TOP", .value = BTN_TOP },
    { .name = "BTN_TOP2", .value = BTN_TOP2 },
    { .name = "BTN_TOUCH", .value = BTN_TOUCH },
    { .name = "BTN_TR", .value = BTN_TR },
    { .name = "BTN_TR2", .value = BTN_TR2 },
    { .name = "BTN_TRIGGER", .value = BTN_TRIGGER },
    { .name = "BTN_TRIGGER_HAPPY1", .value = BTN_TRIGGER_HAPPY1 },
    { .name = "BTN_TRIGGER_HAPPY10", .value = BTN_TRIGGER_HAPPY10 },
    { .name = "BTN_TRIGGER_HAPPY11", .value = BTN_TRIGGER_HAPPY11 },
    { .name = "BTN_TRIGGER_HAPPY12", .value = BTN_TRIGGER_HAPPY12 },
    { .name = "BTN_TRIGGER_HAPPY13", .value = BTN_TRIGGER_HAPPY13 },
    { .name = "BTN_TRIGGER_HAPPY14", .value = BTN_TRIGGER_HAPPY14 },
    { .name = "BTN_TRIGGER_HAPPY15", .value = BTN_TRIGGER_HAPPY15 },
    { .name = "BTN_TRIGGER_HAPPY16", .value = BTN_TRIGGER_HAPPY16 },
    { .name = "BTN_TRIGGER_HAPPY17", .value = BTN_TRIGGER_HAPPY17 },
    { .name = "BTN_TRIGGER_HAPPY18", .value = BTN_TRIGGER_HAPPY18 },
    { .name = "BTN_TRIGGER_HAPPY19", .value = BTN_TRIGGER_HAPPY19 },
    { .name = "BTN_TRIGGER_HAPPY2", .value = BTN_TRIGGER_HAPPY2 },
    { .name = "BTN_TRIGGER_HAPPY20", .value = BTN_TRIGGER_HAPPY20 },
    { .name = "BTN_TRIGGER_HAPPY21", .value = BTN_TRIGGER_HAPPY21 },
    { .name = "BTN_TRIGGER_HAPPY22", .value = BTN_TRIGGER_HAPPY22 },
    { .name = "BTN_TRIGGER_HAPPY23", .value = BTN_TRIGGER_HAPPY23 },
    { .name = "BTN_TRIGGER_HAPPY24", .value = BTN_TRIGGER_HAPPY24 },
    { .name = "BTN_TRIGGER_HAPPY25", .value = BTN_TRIGGER_HAPPY25 },
    { .name = "BTN_TRIGGER_HAPPY26", .value = BTN_TRIGGER_HAPPY26 },
    { .name = "BTN_TRIGGER_HAPPY27", .value = BTN_TRIGGER_HAPPY27 },
    { .name = "BTN_TRIGGER_HAPPY28", .value = BTN_TRIGGER_HAPPY28 },
    { .name = "BTN_TRIGGER_HAPPY29", .value = BTN_TRIGGER_HAPPY29 },
    { .name = "BTN_TRIGGER_HAPPY3", .value = BTN_TRIGGER_HAPPY3 },
    { .name = "BTN_TRIGGER_HAPPY30", .value = BTN_TRIGGER_HAPPY30 },
    { .name = "BTN_TRIGGER_HAPPY31", .value = BTN_TRIGGER_HAPPY31 },
    { .name = "BTN_TRIGGER_HAPPY32", .value = BTN_TRIGGER_HAPPY32 },
    { .name = "BTN_TRIGGER_HAPPY33", .value = BTN_TRIGGER_HAPPY33 },
    { .name = "BTN_TRIGGER_HAPPY34", .value = BTN_TRIGGER_HAPPY34 },
    { .name = "BTN_TRIGGER_HAPPY35", .value = BTN_TRIGGER_HAPPY35 },
    { .name = "BTN_TRIGGER_HAPPY36", .value = BTN_TRIGGER_HAPPY36 },
    { .name = "BTN_TRIGGER_HAPPY37", .value = BTN_TRIGGER_HAPPY37 },
    { .name = "BTN_TRIGGER_HAPPY38", .value = BTN_TRIGGER_HAPPY38 },
    { .name = "BTN_TRIGGER_HAPPY39", .value = BTN_TRIGGER_HAPPY39 },
    { .name = "BTN_TRIGGER_HAPPY4", .value = BTN_TRIGGER_HAPPY4 },
    { .name = "BTN_TRIGGER_HAPPY40", .value = BTN_TRIGGER_HAPPY40 },
    { .name = "BTN_TRIGGER_HAPPY5", .value = BTN_TRIGGER_HAPPY5 },
    { .name = "BTN_TRIGGER_HAPPY6", .value = BTN_TRIGGER_HAPPY6 },
    { .name = "BTN_TRIGGER_HAPPY7", .value = BTN_TRIGGER_HAPPY7 },
    { .name = "BTN_TRIGGER_HAPPY8", .value = BTN_TRIGGER_HAPPY8 },
    { .name = "BTN_TRIGGER_HAPPY9", .value = BTN_TRIGGER_HAPPY9 },
    { .name = "BTN_WEST", .value = BTN_WEST },
    { .name = "BTN_X", .value = BTN_X },
    { .name = "BTN_Y", .value = BTN_Y },
    { .name = "BTN_Z", .value = BTN_Z },
    { .name = "FF_AUTOCENTER", .value = FF_AUTOCENTER },
    { .name = "FF_CONSTANT", .value = FF_CONSTANT },
    { .name = "FF_CUSTOM", .value = FF_CUSTOM },
    { .name = "FF_DAMPER", .value = FF_DAMPER },
    { .name = "FF_FRICTION", .value = FF_FRICTION },
    { .name = "FF_GAIN", .value = FF_GAIN },
    { .name = "FF_INERTIA", .value = FF_INERTIA },
    { .name = "FF_MAX", .value = FF_MAX },
    { .name = "FF_PERIODIC", .value = FF_PERIODIC },
    { .name = "FF_RAMP", .value = FF_RAMP },
    { .name = "FF_RUMBLE", .value = FF_RUMBLE },
    { .name = "FF_SAW_DOWN", .value = FF_SAW_DOWN },
    { .name = "FF_SAW_UP", .value = FF_SAW_UP },
    { .name = "FF_SINE", .value = FF_SINE },
    { .name = "FF_SPRING", .value = FF_SPRING },
    { .name = "FF_SQUARE", .value = FF_SQUARE },
    { .name = "FF_STATUS_MAX", .value = FF_STATUS_MAX },
    { .name = "FF_STATUS_STOPPED", .value = FF_STATUS_STOPPED },
    { .name = "FF_TRIANGLE", .value = FF_TRIANGLE },
    { .name = "KEY_0", .value = KEY_0 },
    { .name = "KEY_1", .value = KEY_1 },
    { .name = "KEY_102ND", .value = KEY_102ND },
    { .name = "KEY_10CHANNELSDOWN", .value = KEY_10CHANNELSDOWN },
    { .name = "KEY_10CHANNELSUP", .value = KEY_10CHANNELSUP },
    { .name = "KEY_2", .value = KEY_2 },
    { .name = "KEY_3", .value = KEY_3 },
    { .name = "KEY_3D_MODE", .value = KEY_3D_MODE },
    { .name = "KEY_4", .value = KEY_4 },
    { .name = "KEY_5", .value = KEY_5 },
    { .name = "KEY_6", .value = KEY_6 },
    { .name = "KEY_7", .value = KEY_7 },
    { .name = "KEY_8", .value = KEY_8 },
    { .name = "KEY_9", .value = KEY_9 },
    { .name = "KEY_A", .value = KEY_A },
    { .name = "KEY_AB", .value = KEY_AB },
    { .name = "KEY_ADDRESSBOOK", .value = KEY_ADDRESSBOOK },
    { .name = "KEY_AGAIN", .value = KEY_AGAIN },
    // { .name = "KEY_ALL_APPLICATIONS", .value = KEY_ALL_APPLICATIONS },
    { .name = "KEY_ALS_TOGGLE", .value = KEY_ALS_TOGGLE },
    { .name = "KEY_ALTERASE", .value = KEY_ALTERASE },
    { .name = "KEY_ANGLE", .value = KEY_ANGLE },
    { .name = "KEY_APOSTROPHE", .value = KEY_APOSTROPHE },
    { .name = "KEY_APPSELECT", .value = KEY_APPSELECT },
    { .name = "KEY_ARCHIVE", .value = KEY_ARCHIVE },
    { .name = "KEY_ASPECT_RATIO", .value = KEY_ASPECT_RATIO },
    { .name = "KEY_ASSISTANT", .value = KEY_ASSISTANT },
    { .name = "KEY_ATTENDANT_OFF", .value = KEY_ATTENDANT_OFF },
    { .name = "KEY_ATTENDANT_ON", .value = KEY_ATTENDANT_ON },
    { .name = "KEY_ATTENDANT_TOGGLE", .value = KEY_ATTENDANT_TOGGLE },
    { .name = "KEY_AUDIO", .value = KEY_AUDIO },
    { .name = "KEY_AUDIO_DESC", .value = KEY_AUDIO_DESC },
    // { .name = "KEY_AUTOPILOT_ENGAGE_TOGGLE", .value = KEY_AUTOPILOT_ENGAGE_TOGGLE },
    { .name = "KEY_AUX", .value = KEY_AUX },
    { .name = "KEY_B", .value = KEY_B },
    { .name = "KEY_BACK", .value = KEY_BACK },
    { .name = "KEY_BACKSLASH", .value = KEY_BACKSLASH },
    { .name = "KEY_BACKSPACE", .value = KEY_BACKSPACE },
    { .name = "KEY_BASSBOOST", .value = KEY_BASSBOOST },
    { .name = "KEY_BATTERY", .value = KEY_BATTERY },
    { .name = "KEY_BLUE", .value = KEY_BLUE },
    { .name = "KEY_BLUETOOTH", .value = KEY_BLUETOOTH },
    { .name = "KEY_BOOKMARKS", .value = KEY_BOOKMARKS },
    { .name = "KEY_BREAK", .value = KEY_BREAK },
    { .name = "KEY_BRIGHTNESSDOWN", .value = KEY_BRIGHTNESSDOWN },
    { .name = "KEY_BRIGHTNESSUP", .value = KEY_BRIGHTNESSUP },
    { .name = "KEY_BRIGHTNESS_AUTO", .value = KEY_BRIGHTNESS_AUTO },
    { .name = "KEY_BRIGHTNESS_CYCLE", .value = KEY_BRIGHTNESS_CYCLE },
    { .name = "KEY_BRIGHTNESS_MAX", .value = KEY_BRIGHTNESS_MAX },
    // { .name = "KEY_BRIGHTNESS_MENU", .value = KEY_BRIGHTNESS_MENU },
    { .name = "KEY_BRIGHTNESS_MIN", .value = KEY_BRIGHTNESS_MIN },
    { .name = "KEY_BRL_DOT1", .value = KEY_BRL_DOT1 },
    { .name = "KEY_BRL_DOT10", .value = KEY_BRL_DOT10 },
    { .name = "KEY_BRL_DOT2", .value = KEY_BRL_DOT2 },
    { .name = "KEY_BRL_DOT3", .value = KEY_BRL_DOT3 },
    { .name = "KEY_BRL_DOT4", .value = KEY_BRL_DOT4 },
    { .name = "KEY_BRL_DOT5", .value = KEY_BRL_DOT5 },
    { .name = "KEY_BRL_DOT6", .value = KEY_BRL_DOT6 },
    { .name = "KEY_BRL_DOT7", .value = KEY_BRL_DOT7 },
    { .name = "KEY_BRL_DOT8", .value = KEY_BRL_DOT8 },
    { .name = "KEY_BRL_DOT9", .value = KEY_BRL_DOT9 },
    { .name = "KEY_BUTTONCONFIG", .value = KEY_BUTTONCONFIG },
    { .name = "KEY_C", .value = KEY_C },
    { .name = "KEY_CALC", .value = KEY_CALC },
    { .name = "KEY_CALENDAR", .value = KEY_CALENDAR },
    { .name = "KEY_CAMERA", .value = KEY_CAMERA },
    // { .name = "KEY_CAMERA_ACCESS_DISABLE", .value = KEY_CAMERA_ACCESS_DISABLE },
    // { .name = "KEY_CAMERA_ACCESS_ENABLE", .value = KEY_CAMERA_ACCESS_ENABLE },
    // { .name = "KEY_CAMERA_ACCESS_TOGGLE", .value = KEY_CAMERA_ACCESS_TOGGLE },
    { .name = "KEY_CAMERA_DOWN", .value = KEY_CAMERA_DOWN },
    { .name = "KEY_CAMERA_FOCUS", .value = KEY_CAMERA_FOCUS },
    { .name = "KEY_CAMERA_LEFT", .value = KEY_CAMERA_LEFT },
    { .name = "KEY_CAMERA_RIGHT", .value = KEY_CAMERA_RIGHT },
    { .name = "KEY_CAMERA_UP", .value = KEY_CAMERA_UP },
    { .name = "KEY_CAMERA_ZOOMIN", .value = KEY_CAMERA_ZOOMIN },
    { .name = "KEY_CAMERA_ZOOMOUT", .value = KEY_CAMERA_ZOOMOUT },
    { .name = "KEY_CANCEL", .value = KEY_CANCEL },
    { .name = "KEY_CAPSLOCK", .value = KEY_CAPSLOCK },
    { .name = "KEY_CD", .value = KEY_CD },
    { .name = "KEY_CHANNEL", .value = KEY_CHANNEL },
    { .name = "KEY_CHANNELDOWN", .value = KEY_CHANNELDOWN },
    { .name = "KEY_CHANNELUP", .value = KEY_CHANNELUP },
    { .name = "KEY_CHAT", .value = KEY_CHAT },
    { .name = "KEY_CLEAR", .value = KEY_CLEAR },
    // { .name = "KEY_CLEARVU_SONAR", .value = KEY_CLEARVU_SONAR },
    { .name = "KEY_CLOSE", .value = KEY_CLOSE },
    { .name = "KEY_CLOSECD", .value = KEY_CLOSECD },
    { .name = "KEY_COFFEE", .value = KEY_COFFEE },
    { .name = "KEY_COMMA", .value = KEY_COMMA },
    { .name = "KEY_COMPOSE", .value = KEY_COMPOSE },
    { .name = "KEY_COMPUTER", .value = KEY_COMPUTER },
    { .name = "KEY_CONFIG", .value = KEY_CONFIG },
    { .name = "KEY_CONNECT", .value = KEY_CONNECT },
    { .name = "KEY_CONTEXT_MENU", .value = KEY_CONTEXT_MENU },
    { .name = "KEY_CONTROLPANEL", .value = KEY_CONTROLPANEL },
    { .name = "KEY_COPY", .value = KEY_COPY },
    { .name = "KEY_CUT", .value = KEY_CUT },
    { .name = "KEY_CYCLEWINDOWS", .value = KEY_CYCLEWINDOWS },
    { .name = "KEY_D", .value = KEY_D },
    { .name = "KEY_DATA", .value = KEY_DATA },
    { .name = "KEY_DATABASE", .value = KEY_DATABASE },
    { .name = "KEY_DELETE", .value = KEY_DELETE },
    { .name = "KEY_DELETEFILE", .value = KEY_DELETEFILE },
    { .name = "KEY_DEL_EOL", .value = KEY_DEL_EOL },
    { .name = "KEY_DEL_EOS", .value = KEY_DEL_EOS },
    { .name = "KEY_DEL_LINE", .value = KEY_DEL_LINE },
    // { .name = "KEY_DICTATE", .value = KEY_DICTATE },
    { .name = "KEY_DIGITS", .value = KEY_DIGITS },
    { .name = "KEY_DIRECTORY", .value = KEY_DIRECTORY },
    { .name = "KEY_DISPLAYTOGGLE", .value = KEY_DISPLAYTOGGLE },
    { .name = "KEY_DISPLAY_OFF", .value = KEY_DISPLAY_OFF },
    { .name = "KEY_DOCUMENTS", .value = KEY_DOCUMENTS },
    { .name = "KEY_DOLLAR", .value = KEY_DOLLAR },
    { .name = "KEY_DOT", .value = KEY_DOT },
    { .name = "KEY_DOWN", .value = KEY_DOWN },
    // { .name = "KEY_DUAL_RANGE_RADAR", .value = KEY_DUAL_RANGE_RADAR },
    { .name = "KEY_DVD", .value = KEY_DVD },
    { .name = "KEY_E", .value = KEY_E },
    { .name = "KEY_EDIT", .value = KEY_EDIT },
    { .name = "KEY_EDITOR", .value = KEY_EDITOR },
    { .name = "KEY_EJECTCD", .value = KEY_EJECTCD },
    { .name = "KEY_EJECTCLOSECD", .value = KEY_EJECTCLOSECD },
    { .name = "KEY_EMAIL", .value = KEY_EMAIL },
    // { .name = "KEY_EMOJI_PICKER", .value = KEY_EMOJI_PICKER },
    { .name = "KEY_END", .value = KEY_END },
    { .name = "KEY_ENTER", .value = KEY_ENTER },
    { .name = "KEY_EPG", .value = KEY_EPG },
    { .name = "KEY_EQUAL", .value = KEY_EQUAL },
    { .name = "KEY_ESC", .value = KEY_ESC },
    { .name = "KEY_EURO", .value = KEY_EURO },
    { .name = "KEY_EXIT", .value = KEY_EXIT },
    { .name = "KEY_F", .value = KEY_F },
    { .name = "KEY_F1", .value = KEY_F1 },
    { .name = "KEY_F10", .value = KEY_F10 },
    { .name = "KEY_F11", .value = KEY_F11 },
    { .name = "KEY_F12", .value = KEY_F12 },
    { .name = "KEY_F13", .value = KEY_F13 },
    { .name = "KEY_F14", .value = KEY_F14 },
    { .name = "KEY_F15", .value = KEY_F15 },
    { .name = "KEY_F16", .value = KEY_F16 },
    { .name = "KEY_F17", .value = KEY_F17 },
    { .name = "KEY_F18", .value = KEY_F18 },
    { .name = "KEY_F19", .value = KEY_F19 },
    { .name = "KEY_F2", .value = KEY_F2 },
    { .name = "KEY_F20", .value = KEY_F20 },
    { .name = "KEY_F21", .value = KEY_F21 },
    { .name = "KEY_F22", .value = KEY_F22 },
    { .name = "KEY_F23", .value = KEY_F23 },
    { .name = "KEY_F24", .value = KEY_F24 },
    { .name = "KEY_F3", .value = KEY_F3 },
    { .name = "KEY_F4", .value = KEY_F4 },
    { .name = "KEY_F5", .value = KEY_F5 },
    { .name = "KEY_F6", .value = KEY_F6 },
    { .name = "KEY_F7", .value = KEY_F7 },
    { .name = "KEY_F8", .value = KEY_F8 },
    { .name = "KEY_F9", .value = KEY_F9 },
    { .name = "KEY_FASTFORWARD", .value = KEY_FASTFORWARD },
    { .name = "KEY_FASTREVERSE", .value = KEY_FASTREVERSE },
    { .name = "KEY_FAVORITES", .value = KEY_FAVORITES },
    { .name = "KEY_FILE", .value = KEY_FILE },
    { .name = "KEY_FINANCE", .value = KEY_FINANCE },
    { .name = "KEY_FIND", .value = KEY_FIND },
    { .name = "KEY_FIRST", .value = KEY_FIRST },
    // { .name = "KEY_FISHING_CHART", .value = KEY_FISHING_CHART },
    { .name = "KEY_FN", .value = KEY_FN },
    { .name = "KEY_FN_1", .value = KEY_FN_1 },
    { .name = "KEY_FN_2", .value = KEY_FN_2 },
    { .name = "KEY_FN_B", .value = KEY_FN_B },
    { .name = "KEY_FN_D", .value = KEY_FN_D },
    { .name = "KEY_FN_E", .value = KEY_FN_E },
    { .name = "KEY_FN_ESC", .value = KEY_FN_ESC },
    { .name = "KEY_FN_F", .value = KEY_FN_F },
    { .name = "KEY_FN_F1", .value = KEY_FN_F1 },
    { .name = "KEY_FN_F10", .value = KEY_FN_F10 },
    { .name = "KEY_FN_F11", .value = KEY_FN_F11 },
    { .name = "KEY_FN_F12", .value = KEY_FN_F12 },
    { .name = "KEY_FN_F2", .value = KEY_FN_F2 },
    { .name = "KEY_FN_F3", .value = KEY_FN_F3 },
    { .name = "KEY_FN_F4", .value = KEY_FN_F4 },
    { .name = "KEY_FN_F5", .value = KEY_FN_F5 },
    { .name = "KEY_FN_F6", .value = KEY_FN_F6 },
    { .name = "KEY_FN_F7", .value = KEY_FN_F7 },
    { .name = "KEY_FN_F8", .value = KEY_FN_F8 },
    { .name = "KEY_FN_F9", .value = KEY_FN_F9 },
    // { .name = "KEY_FN_RIGHT_SHIFT", .value = KEY_FN_RIGHT_SHIFT },
    { .name = "KEY_FN_S", .value = KEY_FN_S },
    { .name = "KEY_FORWARD", .value = KEY_FORWARD },
    { .name = "KEY_FORWARDMAIL", .value = KEY_FORWARDMAIL },
    { .name = "KEY_FRAMEBACK", .value = KEY_FRAMEBACK },
    { .name = "KEY_FRAMEFORWARD", .value = KEY_FRAMEFORWARD },
    { .name = "KEY_FRONT", .value = KEY_FRONT },
    { .name = "KEY_FULL_SCREEN", .value = KEY_FULL_SCREEN },
    { .name = "KEY_G", .value = KEY_G },
    { .name = "KEY_GAMES", .value = KEY_GAMES },
    { .name = "KEY_GOTO", .value = KEY_GOTO },
    { .name = "KEY_GRAPHICSEDITOR", .value = KEY_GRAPHICSEDITOR },
    { .name = "KEY_GRAVE", .value = KEY_GRAVE },
    { .name = "KEY_GREEN", .value = KEY_GREEN },
    { .name = "KEY_H", .value = KEY_H },
    { .name = "KEY_HANGEUL", .value = KEY_HANGEUL },
    // { .name = "KEY_HANGUP_PHONE", .value = KEY_HANGUP_PHONE },
    { .name = "KEY_HANJA", .value = KEY_HANJA },
    { .name = "KEY_HELP", .value = KEY_HELP },
    { .name = "KEY_HENKAN", .value = KEY_HENKAN },
    { .name = "KEY_HIRAGANA", .value = KEY_HIRAGANA },
    { .name = "KEY_HOME", .value = KEY_HOME },
    { .name = "KEY_HOMEPAGE", .value = KEY_HOMEPAGE },
    { .name = "KEY_HP", .value = KEY_HP },
    { .name = "KEY_I", .value = KEY_I },
    { .name = "KEY_IMAGES", .value = KEY_IMAGES },
    { .name = "KEY_INFO", .value = KEY_INFO },
    { .name = "KEY_INSERT", .value = KEY_INSERT },
    { .name = "KEY_INS_LINE", .value = KEY_INS_LINE },
    { .name = "KEY_ISO", .value = KEY_ISO },
    { .name = "KEY_J", .value = KEY_J },
    { .name = "KEY_JOURNAL", .value = KEY_JOURNAL },
    { .name = "KEY_K", .value = KEY_K },
    { .name = "KEY_KATAKANA", .value = KEY_KATAKANA },
    { .name = "KEY_KATAKANAHIRAGANA", .value = KEY_KATAKANAHIRAGANA },
    { .name = "KEY_KBDILLUMDOWN", .value = KEY_KBDILLUMDOWN },
    { .name = "KEY_KBDILLUMTOGGLE", .value = KEY_KBDILLUMTOGGLE },
    { .name = "KEY_KBDILLUMUP", .value = KEY_KBDILLUMUP },
    { .name = "KEY_KBDINPUTASSIST_ACCEPT", .value = KEY_KBDINPUTASSIST_ACCEPT },
    { .name = "KEY_KBDINPUTASSIST_CANCEL", .value = KEY_KBDINPUTASSIST_CANCEL },
    { .name = "KEY_KBDINPUTASSIST_NEXT", .value = KEY_KBDINPUTASSIST_NEXT },
    { .name = "KEY_KBDINPUTASSIST_NEXTGROUP", .value = KEY_KBDINPUTASSIST_NEXTGROUP },
    { .name = "KEY_KBDINPUTASSIST_PREV", .value = KEY_KBDINPUTASSIST_PREV },
    { .name = "KEY_KBDINPUTASSIST_PREVGROUP", .value = KEY_KBDINPUTASSIST_PREVGROUP },
    { .name = "KEY_KBD_LAYOUT_NEXT", .value = KEY_KBD_LAYOUT_NEXT },
    { .name = "KEY_KBD_LCD_MENU1", .value = KEY_KBD_LCD_MENU1 },
    { .name = "KEY_KBD_LCD_MENU2", .value = KEY_KBD_LCD_MENU2 },
    { .name = "KEY_KBD_LCD_MENU3", .value = KEY_KBD_LCD_MENU3 },
    { .name = "KEY_KBD_LCD_MENU4", .value = KEY_KBD_LCD_MENU4 },
    { .name = "KEY_KBD_LCD_MENU5", .value = KEY_KBD_LCD_MENU5 },
    { .name = "KEY_KEYBOARD", .value = KEY_KEYBOARD },
    { .name = "KEY_KP0", .value = KEY_KP0 },
    { .name = "KEY_KP1", .value = KEY_KP1 },
    { .name = "KEY_KP2", .value = KEY_KP2 },
    { .name = "KEY_KP3", .value = KEY_KP3 },
    { .name = "KEY_KP4", .value = KEY_KP4 },
    { .name = "KEY_KP5", .value = KEY_KP5 },
    { .name = "KEY_KP6", .value = KEY_KP6 },
    { .name = "KEY_KP7", .value = KEY_KP7 },
    { .name = "KEY_KP8", .value = KEY_KP8 },
    { .name = "KEY_KP9", .value = KEY_KP9 },
    { .name = "KEY_KPASTERISK", .value = KEY_KPASTERISK },
    { .name = "KEY_KPCOMMA", .value = KEY_KPCOMMA },
    { .name = "KEY_KPDOT", .value = KEY_KPDOT },
    { .name = "KEY_KPENTER", .value = KEY_KPENTER },
    { .name = "KEY_KPEQUAL", .value = KEY_KPEQUAL },
    { .name = "KEY_KPJPCOMMA", .value = KEY_KPJPCOMMA },
    { .name = "KEY_KPLEFTPAREN", .value = KEY_KPLEFTPAREN },
    { .name = "KEY_KPMINUS", .value = KEY_KPMINUS },
    { .name = "KEY_KPPLUS", .value = KEY_KPPLUS },
    { .name = "KEY_KPPLUSMINUS", .value = KEY_KPPLUSMINUS },
    { .name = "KEY_KPRIGHTPAREN", .value = KEY_KPRIGHTPAREN },
    { .name = "KEY_KPSLASH", .value = KEY_KPSLASH },
    { .name = "KEY_L", .value = KEY_L },
    { .name = "KEY_LANGUAGE", .value = KEY_LANGUAGE },
    { .name = "KEY_LAST", .value = KEY_LAST },
    { .name = "KEY_LEFT", .value = KEY_LEFT },
    { .name = "KEY_LEFTALT", .value = KEY_LEFTALT },
    { .name = "KEY_LEFTBRACE", .value = KEY_LEFTBRACE },
    { .name = "KEY_LEFTCTRL", .value = KEY_LEFTCTRL },
    { .name = "KEY_LEFTMETA", .value = KEY_LEFTMETA },
    { .name = "KEY_LEFTSHIFT", .value = KEY_LEFTSHIFT },
    { .name = "KEY_LEFT_DOWN", .value = KEY_LEFT_DOWN },
    { .name = "KEY_LEFT_UP", .value = KEY_LEFT_UP },
    { .name = "KEY_LIGHTS_TOGGLE", .value = KEY_LIGHTS_TOGGLE },
    { .name = "KEY_LINEFEED", .value = KEY_LINEFEED },
    { .name = "KEY_LIST", .value = KEY_LIST },
    { .name = "KEY_LOGOFF", .value = KEY_LOGOFF },
    { .name = "KEY_M", .value = KEY_M },
    { .name = "KEY_MACRO", .value = KEY_MACRO },
    { .name = "KEY_MACRO1", .value = KEY_MACRO1 },
    { .name = "KEY_MACRO10", .value = KEY_MACRO10 },
    { .name = "KEY_MACRO11", .value = KEY_MACRO11 },
    { .name = "KEY_MACRO12", .value = KEY_MACRO12 },
    { .name = "KEY_MACRO13", .value = KEY_MACRO13 },
    { .name = "KEY_MACRO14", .value = KEY_MACRO14 },
    { .name = "KEY_MACRO15", .value = KEY_MACRO15 },
    { .name = "KEY_MACRO16", .value = KEY_MACRO16 },
    { .name = "KEY_MACRO17", .value = KEY_MACRO17 },
    { .name = "KEY_MACRO18", .value = KEY_MACRO18 },
    { .name = "KEY_MACRO19", .value = KEY_MACRO19 },
    { .name = "KEY_MACRO2", .value = KEY_MACRO2 },
    { .name = "KEY_MACRO20", .value = KEY_MACRO20 },
    { .name = "KEY_MACRO21", .value = KEY_MACRO21 },
    { .name = "KEY_MACRO22", .value = KEY_MACRO22 },
    { .name = "KEY_MACRO23", .value = KEY_MACRO23 },
    { .name = "KEY_MACRO24", .value = KEY_MACRO24 },
    { .name = "KEY_MACRO25", .value = KEY_MACRO25 },
    { .name = "KEY_MACRO26", .value = KEY_MACRO26 },
    { .name = "KEY_MACRO27", .value = KEY_MACRO27 },
    { .name = "KEY_MACRO28", .value = KEY_MACRO28 },
    { .name = "KEY_MACRO29", .value = KEY_MACRO29 },
    { .name = "KEY_MACRO3", .value = KEY_MACRO3 },
    { .name = "KEY_MACRO30", .value = KEY_MACRO30 },
    { .name = "KEY_MACRO4", .value = KEY_MACRO4 },
    { .name = "KEY_MACRO5", .value = KEY_MACRO5 },
    { .name = "KEY_MACRO6", .value = KEY_MACRO6 },
    { .name = "KEY_MACRO7", .value = KEY_MACRO7 },
    { .name = "KEY_MACRO8", .value = KEY_MACRO8 },
    { .name = "KEY_MACRO9", .value = KEY_MACRO9 },
    { .name = "KEY_MACRO_PRESET1", .value = KEY_MACRO_PRESET1 },
    { .name = "KEY_MACRO_PRESET2", .value = KEY_MACRO_PRESET2 },
    { .name = "KEY_MACRO_PRESET3", .value = KEY_MACRO_PRESET3 },
    { .name = "KEY_MACRO_PRESET_CYCLE", .value = KEY_MACRO_PRESET_CYCLE },
    { .name = "KEY_MACRO_RECORD_START", .value = KEY_MACRO_RECORD_START },
    { .name = "KEY_MACRO_RECORD_STOP", .value = KEY_MACRO_RECORD_STOP },
    { .name = "KEY_MAIL", .value = KEY_MAIL },
    // { .name = "KEY_MARK_WAYPOINT", .value = KEY_MARK_WAYPOINT },
    { .name = "KEY_MAX", .value = KEY_MAX },
    { .name = "KEY_MEDIA", .value = KEY_MEDIA },
    { .name = "KEY_MEDIA_REPEAT", .value = KEY_MEDIA_REPEAT },
    { .name = "KEY_MEDIA_TOP_MENU", .value = KEY_MEDIA_TOP_MENU },
    { .name = "KEY_MEMO", .value = KEY_MEMO },
    { .name = "KEY_MENU", .value = KEY_MENU },
    { .name = "KEY_MESSENGER", .value = KEY_MESSENGER },
    { .name = "KEY_MHP", .value = KEY_MHP },
    { .name = "KEY_MICMUTE", .value = KEY_MICMUTE },
    { .name = "KEY_MINUS", .value = KEY_MINUS },
    { .name = "KEY_MODE", .value = KEY_MODE },
    { .name = "KEY_MOVE", .value = KEY_MOVE },
    { .name = "KEY_MP3", .value = KEY_MP3 },
    { .name = "KEY_MSDOS", .value = KEY_MSDOS },
    { .name = "KEY_MUHENKAN", .value = KEY_MUHENKAN },
    { .name = "KEY_MUTE", .value = KEY_MUTE },
    { .name = "KEY_N", .value = KEY_N },
    // { .name = "KEY_NAV_CHART", .value = KEY_NAV_CHART },
    // { .name = "KEY_NAV_INFO", .value = KEY_NAV_INFO },
    { .name = "KEY_NEW", .value = KEY_NEW },
    { .name = "KEY_NEWS", .value = KEY_NEWS },
    { .name = "KEY_NEXT", .value = KEY_NEXT },
    { .name = "KEY_NEXTSONG", .value = KEY_NEXTSONG },
    // { .name = "KEY_NEXT_ELEMENT", .value = KEY_NEXT_ELEMENT },
    { .name = "KEY_NEXT_FAVORITE", .value = KEY_NEXT_FAVORITE },
    // { .name = "KEY_NOTIFICATION_CENTER", .value = KEY_NOTIFICATION_CENTER },
    { .name = "KEY_NUMERIC_0", .value = KEY_NUMERIC_0 },
    { .name = "KEY_NUMERIC_1", .value = KEY_NUMERIC_1 },
    { .name = "KEY_NUMERIC_11", .value = KEY_NUMERIC_11 },
    { .name = "KEY_NUMERIC_12", .value = KEY_NUMERIC_12 },
    { .name = "KEY_NUMERIC_2", .value = KEY_NUMERIC_2 },
    { .name = "KEY_NUMERIC_3", .value = KEY_NUMERIC_3 },
    { .name = "KEY_NUMERIC_4", .value = KEY_NUMERIC_4 },
    { .name = "KEY_NUMERIC_5", .value = KEY_NUMERIC_5 },
    { .name = "KEY_NUMERIC_6", .value = KEY_NUMERIC_6 },
    { .name = "KEY_NUMERIC_7", .value = KEY_NUMERIC_7 },
    { .name = "KEY_NUMERIC_8", .value = KEY_NUMERIC_8 },
    { .name = "KEY_NUMERIC_9", .value = KEY_NUMERIC_9 },
    { .name = "KEY_NUMERIC_A", .value = KEY_NUMERIC_A },
    { .name = "KEY_NUMERIC_B", .value = KEY_NUMERIC_B },
    { .name = "KEY_NUMERIC_C", .value = KEY_NUMERIC_C },
    { .name = "KEY_NUMERIC_D", .value = KEY_NUMERIC_D },
    { .name = "KEY_NUMERIC_POUND", .value = KEY_NUMERIC_POUND },
    { .name = "KEY_NUMERIC_STAR", .value = KEY_NUMERIC_STAR },
    { .name = "KEY_NUMLOCK", .value = KEY_NUMLOCK },
    { .name = "KEY_O", .value = KEY_O },
    { .name = "KEY_OK", .value = KEY_OK },
    { .name = "KEY_ONSCREEN_KEYBOARD", .value = KEY_ONSCREEN_KEYBOARD },
    { .name = "KEY_OPEN", .value = KEY_OPEN },
    { .name = "KEY_OPTION", .value = KEY_OPTION },
    { .name = "KEY_P", .value = KEY_P },
    { .name = "KEY_PAGEDOWN", .value = KEY_PAGEDOWN },
    { .name = "KEY_PAGEUP", .value = KEY_PAGEUP },
    { .name = "KEY_PASTE", .value = KEY_PASTE },
    { .name = "KEY_PAUSE", .value = KEY_PAUSE },
    { .name = "KEY_PAUSECD", .value = KEY_PAUSECD },
    { .name = "KEY_PAUSE_RECORD", .value = KEY_PAUSE_RECORD },
    { .name = "KEY_PC", .value = KEY_PC },
    { .name = "KEY_PHONE", .value = KEY_PHONE },
    // { .name = "KEY_PICKUP_PHONE", .value = KEY_PICKUP_PHONE },
    { .name = "KEY_PLAY", .value = KEY_PLAY },
    { .name = "KEY_PLAYCD", .value = KEY_PLAYCD },
    { .name = "KEY_PLAYER", .value = KEY_PLAYER },
    { .name = "KEY_PLAYPAUSE", .value = KEY_PLAYPAUSE },
    { .name = "KEY_POWER", .value = KEY_POWER },
    { .name = "KEY_POWER2", .value = KEY_POWER2 },
    { .name = "KEY_PRESENTATION", .value = KEY_PRESENTATION },
    { .name = "KEY_PREVIOUS", .value = KEY_PREVIOUS },
    { .name = "KEY_PREVIOUSSONG", .value = KEY_PREVIOUSSONG },
    // { .name = "KEY_PREVIOUS_ELEMENT", .value = KEY_PREVIOUS_ELEMENT },
    { .name = "KEY_PRINT", .value = KEY_PRINT },
    { .name = "KEY_PRIVACY_SCREEN_TOGGLE", .value = KEY_PRIVACY_SCREEN_TOGGLE },
    { .name = "KEY_PROG1", .value = KEY_PROG1 },
    { .name = "KEY_PROG2", .value = KEY_PROG2 },
    { .name = "KEY_PROG3", .value = KEY_PROG3 },
    { .name = "KEY_PROG4", .value = KEY_PROG4 },
    { .name = "KEY_PROGRAM", .value = KEY_PROGRAM },
    { .name = "KEY_PROPS", .value = KEY_PROPS },
    { .name = "KEY_PVR", .value = KEY_PVR },
    { .name = "KEY_Q", .value = KEY_Q },
    { .name = "KEY_QUESTION", .value = KEY_QUESTION },
    { .name = "KEY_R", .value = KEY_R },
    // { .name = "KEY_RADAR_OVERLAY", .value = KEY_RADAR_OVERLAY },
    { .name = "KEY_RADIO", .value = KEY_RADIO },
    { .name = "KEY_RECORD", .value = KEY_RECORD },
    { .name = "KEY_RED", .value = KEY_RED },
    { .name = "KEY_REDO", .value = KEY_REDO },
    { .name = "KEY_REFRESH", .value = KEY_REFRESH },
    { .name = "KEY_REPLY", .value = KEY_REPLY },
    { .name = "KEY_RESERVED", .value = KEY_RESERVED },
    { .name = "KEY_RESTART", .value = KEY_RESTART },
    { .name = "KEY_REWIND", .value = KEY_REWIND },
    { .name = "KEY_RFKILL", .value = KEY_RFKILL },
    { .name = "KEY_RIGHT", .value = KEY_RIGHT },
    { .name = "KEY_RIGHTALT", .value = KEY_RIGHTALT },
    { .name = "KEY_RIGHTBRACE", .value = KEY_RIGHTBRACE },
    { .name = "KEY_RIGHTCTRL", .value = KEY_RIGHTCTRL },
    { .name = "KEY_RIGHTMETA", .value = KEY_RIGHTMETA },
    { .name = "KEY_RIGHTSHIFT", .value = KEY_RIGHTSHIFT },
    { .name = "KEY_RIGHT_DOWN", .value = KEY_RIGHT_DOWN },
    { .name = "KEY_RIGHT_UP", .value = KEY_RIGHT_UP },
    { .name = "KEY_RO", .value = KEY_RO },
    { .name = "KEY_ROOT_MENU", .value = KEY_ROOT_MENU },
    { .name = "KEY_ROTATE_DISPLAY", .value = KEY_ROTATE_DISPLAY },
    { .name = "KEY_ROTATE_LOCK_TOGGLE", .value = KEY_ROTATE_LOCK_TOGGLE },
    { .name = "KEY_S", .value = KEY_S },
    { .name = "KEY_SAT", .value = KEY_SAT },
    { .name = "KEY_SAT2", .value = KEY_SAT2 },
    { .name = "KEY_SAVE", .value = KEY_SAVE },
    { .name = "KEY_SCALE", .value = KEY_SCALE },
    { .name = "KEY_SCREENSAVER", .value = KEY_SCREENSAVER },
    { .name = "KEY_SCROLLDOWN", .value = KEY_SCROLLDOWN },
    { .name = "KEY_SCROLLLOCK", .value = KEY_SCROLLLOCK },
    { .name = "KEY_SCROLLUP", .value = KEY_SCROLLUP },
    { .name = "KEY_SEARCH", .value = KEY_SEARCH },
    { .name = "KEY_SELECT", .value = KEY_SELECT },
    { .name = "KEY_SELECTIVE_SCREENSHOT", .value = KEY_SELECTIVE_SCREENSHOT },
    { .name = "KEY_SEMICOLON", .value = KEY_SEMICOLON },
    { .name = "KEY_SEND", .value = KEY_SEND },
    { .name = "KEY_SENDFILE", .value = KEY_SENDFILE },
    { .name = "KEY_SETUP", .value = KEY_SETUP },
    { .name = "KEY_SHOP", .value = KEY_SHOP },
    { .name = "KEY_SHUFFLE", .value = KEY_SHUFFLE },
    // { .name = "KEY_SIDEVU_SONAR", .value = KEY_SIDEVU_SONAR },
    // { .name = "KEY_SINGLE_RANGE_RADAR", .value = KEY_SINGLE_RANGE_RADAR },
    { .name = "KEY_SLASH", .value = KEY_SLASH },
    { .name = "KEY_SLEEP", .value = KEY_SLEEP },
    { .name = "KEY_SLOW", .value = KEY_SLOW },
    { .name = "KEY_SLOWREVERSE", .value = KEY_SLOWREVERSE },
    // { .name = "KEY_SOS", .value = KEY_SOS },
    { .name = "KEY_SOUND", .value = KEY_SOUND },
    { .name = "KEY_SPACE", .value = KEY_SPACE },
    { .name = "KEY_SPELLCHECK", .value = KEY_SPELLCHECK },
    { .name = "KEY_SPORT", .value = KEY_SPORT },
    { .name = "KEY_SPREADSHEET", .value = KEY_SPREADSHEET },
    { .name = "KEY_STOP", .value = KEY_STOP },
    { .name = "KEY_STOPCD", .value = KEY_STOPCD },
    { .name = "KEY_STOP_RECORD", .value = KEY_STOP_RECORD },
    { .name = "KEY_SUBTITLE", .value = KEY_SUBTITLE },
    { .name = "KEY_SUSPEND", .value = KEY_SUSPEND },
    { .name = "KEY_SWITCHVIDEOMODE", .value = KEY_SWITCHVIDEOMODE },
    { .name = "KEY_SYSRQ", .value = KEY_SYSRQ },
    { .name = "KEY_T", .value = KEY_T },
    { .name = "KEY_TAB", .value = KEY_TAB },
    { .name = "KEY_TAPE", .value = KEY_TAPE },
    { .name = "KEY_TASKMANAGER", .value = KEY_TASKMANAGER },
    { .name = "KEY_TEEN", .value = KEY_TEEN },
    { .name = "KEY_TEXT", .value = KEY_TEXT },
    { .name = "KEY_TIME", .value = KEY_TIME },
    { .name = "KEY_TITLE", .value = KEY_TITLE },
    { .name = "KEY_TOUCHPAD_OFF", .value = KEY_TOUCHPAD_OFF },
    { .name = "KEY_TOUCHPAD_ON", .value = KEY_TOUCHPAD_ON },
    { .name = "KEY_TOUCHPAD_TOGGLE", .value = KEY_TOUCHPAD_TOGGLE },
    // { .name = "KEY_TRADITIONAL_SONAR", .value = KEY_TRADITIONAL_SONAR },
    { .name = "KEY_TUNER", .value = KEY_TUNER },
    { .name = "KEY_TV", .value = KEY_TV },
    { .name = "KEY_TV2", .value = KEY_TV2 },
    { .name = "KEY_TWEN", .value = KEY_TWEN },
    { .name = "KEY_U", .value = KEY_U },
    { .name = "KEY_UNDO", .value = KEY_UNDO },
    { .name = "KEY_UNKNOWN", .value = KEY_UNKNOWN },
    { .name = "KEY_UNMUTE", .value = KEY_UNMUTE },
    { .name = "KEY_UP", .value = KEY_UP },
    { .name = "KEY_UWB", .value = KEY_UWB },
    { .name = "KEY_V", .value = KEY_V },
    { .name = "KEY_VCR", .value = KEY_VCR },
    { .name = "KEY_VCR2", .value = KEY_VCR2 },
    { .name = "KEY_VENDOR", .value = KEY_VENDOR },
    { .name = "KEY_VIDEO", .value = KEY_VIDEO },
    { .name = "KEY_VIDEOPHONE", .value = KEY_VIDEOPHONE },
    { .name = "KEY_VIDEO_NEXT", .value = KEY_VIDEO_NEXT },
    { .name = "KEY_VIDEO_PREV", .value = KEY_VIDEO_PREV },
    { .name = "KEY_VOD", .value = KEY_VOD },
    { .name = "KEY_VOICECOMMAND", .value = KEY_VOICECOMMAND },
    { .name = "KEY_VOICEMAIL", .value = KEY_VOICEMAIL },
    { .name = "KEY_VOLUMEDOWN", .value = KEY_VOLUMEDOWN },
    { .name = "KEY_VOLUMEUP", .value = KEY_VOLUMEUP },
    { .name = "KEY_W", .value = KEY_W },
    { .name = "KEY_WAKEUP", .value = KEY_WAKEUP },
    { .name = "KEY_WLAN", .value = KEY_WLAN },
    { .name = "KEY_WORDPROCESSOR", .value = KEY_WORDPROCESSOR },
    { .name = "KEY_WPS_BUTTON", .value = KEY_WPS_BUTTON },
    { .name = "KEY_WWAN", .value = KEY_WWAN },
    { .name = "KEY_WWW", .value = KEY_WWW },
    { .name = "KEY_X", .value = KEY_X },
    { .name = "KEY_XFER", .value = KEY_XFER },
    { .name = "KEY_Y", .value = KEY_Y },
    { .name = "KEY_YELLOW", .value = KEY_YELLOW },
    { .name = "KEY_YEN", .value = KEY_YEN },
    { .name = "KEY_Z", .value = KEY_Z },
    { .name = "KEY_ZENKAKUHANKAKU", .value = KEY_ZENKAKUHANKAKU },
    { .name = "KEY_ZOOMIN", .value = KEY_ZOOMIN },
    { .name = "KEY_ZOOMOUT", .value = KEY_ZOOMOUT },
    { .name = "KEY_ZOOMRESET", .value = KEY_ZOOMRESET },
    { .name = "LED_CAPSL", .value = LED_CAPSL },
    { .name = "LED_CHARGING", .value = LED_CHARGING },
    { .name = "LED_COMPOSE", .value = LED_COMPOSE },
    { .name = "LED_KANA", .value = LED_KANA },
    { .name = "LED_MAIL", .value = LED_MAIL },
    { .name = "LED_MAX", .value = LED_MAX },
    { .name = "LED_MISC", .value = LED_MISC },
    { .name = "LED_MUTE", .value = LED_MUTE },
    { .name = "LED_NUML", .value = LED_NUML },
    { .name = "LED_SCROLLL", .value = LED_SCROLLL },
    { .name = "LED_SLEEP", .value = LED_SLEEP },
    { .name = "LED_SUSPEND", .value = LED_SUSPEND },
    { .name = "MSC_GESTURE", .value = MSC_GESTURE },
    { .name = "MSC_MAX", .value = MSC_MAX },
    { .name = "MSC_PULSELED", .value = MSC_PULSELED },
    { .name = "MSC_RAW", .value = MSC_RAW },
    { .name = "MSC_SCAN", .value = MSC_SCAN },
    { .name = "MSC_SERIAL", .value = MSC_SERIAL },
    { .name = "MSC_TIMESTAMP", .value = MSC_TIMESTAMP },
    { .name = "REL_DIAL", .value = REL_DIAL },
    { .name = "REL_HWHEEL", .value = REL_HWHEEL },
    { .name = "REL_HWHEEL_HI_RES", .value = REL_HWHEEL_HI_RES },
    { .name = "REL_MAX", .value = REL_MAX },
    { .name = "REL_MISC", .value = REL_MISC },
    { .name = "REL_RESERVED", .value = REL_RESERVED },
    { .name = "REL_RX", .value = REL_RX },
    { .name = "REL_RY", .value = REL_RY },
    { .name = "REL_RZ", .value = REL_RZ },
    { .name = "REL_WHEEL", .value = REL_WHEEL },
    { .name = "REL_WHEEL_HI_RES", .value = REL_WHEEL_HI_RES },
    { .name = "REL_X", .value = REL_X },
    { .name = "REL_Y", .value = REL_Y },
    { .name = "REL_Z", .value = REL_Z },
    { .name = "REP_DELAY", .value = REP_DELAY },
    { .name = "REP_MAX", .value = REP_MAX },
    { .name = "REP_PERIOD", .value = REP_PERIOD },
    { .name = "SND_BELL", .value = SND_BELL },
    { .name = "SND_CLICK", .value = SND_CLICK },
    { .name = "SND_MAX", .value = SND_MAX },
    { .name = "SND_TONE", .value = SND_TONE },
    { .name = "SW_CAMERA_LENS_COVER", .value = SW_CAMERA_LENS_COVER },
    { .name = "SW_DOCK", .value = SW_DOCK },
    { .name = "SW_FRONT_PROXIMITY", .value = SW_FRONT_PROXIMITY },
    { .name = "SW_HEADPHONE_INSERT", .value = SW_HEADPHONE_INSERT },
    { .name = "SW_JACK_PHYSICAL_INSERT", .value = SW_JACK_PHYSICAL_INSERT },
    { .name = "SW_KEYPAD_SLIDE", .value = SW_KEYPAD_SLIDE },
    { .name = "SW_LID", .value = SW_LID },
    { .name = "SW_LINEIN_INSERT", .value = SW_LINEIN_INSERT },
    { .name = "SW_LINEOUT_INSERT", .value = SW_LINEOUT_INSERT },
    { .name = "SW_MACHINE_COVER", .value = SW_MACHINE_COVER },
    { .name = "SW_MAX", .value = SW_MAX },
    { .name = "SW_MICROPHONE_INSERT", .value = SW_MICROPHONE_INSERT },
    { .name = "SW_MUTE_DEVICE", .value = SW_MUTE_DEVICE },
    { .name = "SW_PEN_INSERTED", .value = SW_PEN_INSERTED },
    { .name = "SW_RFKILL_ALL", .value = SW_RFKILL_ALL },
    { .name = "SW_ROTATE_LOCK", .value = SW_ROTATE_LOCK },
    { .name = "SW_TABLET_MODE", .value = SW_TABLET_MODE },
    { .name = "SW_VIDEOOUT_INSERT", .value = SW_VIDEOOUT_INSERT },
    { .name = "SYN_CONFIG", .value = SYN_CONFIG },
    { .name = "SYN_DROPPED", .value = SYN_DROPPED },
    { .name = "SYN_MAX", .value = SYN_MAX },
    { .name = "SYN_MT_REPORT", .value = SYN_MT_REPORT },
    { .name = "SYN_REPORT", .value = SYN_REPORT },
};

static const struct name_entry prop_names[] = {
    { .name = "INPUT_PROP_ACCELEROMETER", .value = INPUT_PROP_ACCELEROMETER },
    { .name = "INPUT_PROP_BUTTONPAD", .value = INPUT_PROP_BUTTONPAD },
    { .name = "INPUT_PROP_DIRECT", .value = INPUT_PROP_DIRECT },
    { .name = "INPUT_PROP_MAX", .value = INPUT_PROP_MAX },
    { .name = "INPUT_PROP_POINTER", .value = INPUT_PROP_POINTER },
    { .name = "INPUT_PROP_POINTING_STICK", .value = INPUT_PROP_POINTING_STICK },
    { .name = "INPUT_PROP_SEMI_MT", .value = INPUT_PROP_SEMI_MT },
    { .name = "INPUT_PROP_TOPBUTTONPAD", .value = INPUT_PROP_TOPBUTTONPAD },
};

#endif /* EVENT_NAMES_H */
