use crate::input_event_codes;
use std::collections::HashMap;

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

    *input_map.get(key_lookup).unwrap()
}
