use phf::phf_map; pub static KEYCODES: phf::Map<&'static str, u32> = phf_map! { "esc" => 1, "1" => 2, "2" => 3, "3" => 4, "4" => 5, "5" => 6, "6" => 7, "7" => 8, "8" => 9, "9" => 10, "0" => 11, "minus" => 12, "equal" => 13, "backspace" => 14, "tab" => 15, "q" => 16, "w" => 17, "e" => 18, "r" => 19, "t" => 20, "y" => 21, "u" => 22, "i" => 23, "o" => 24, "p" => 25, "leftbrace" => 26, "rightbrace" => 27, "enter" => 28, "leftctrl" => 29, "a" => 30, "s" => 31, "d" => 32, "f" => 33, "g" => 34, "h" => 35, "j" => 36, "k" => 37, "l" => 38, "semicolon" => 39, "apostrophe" => 40, "grave" => 41, "leftshift" => 42, "backslash" => 43, "z" => 44, "x" => 45, "c" => 46, "v" => 47, "b" => 48, "n" => 49, "m" => 50, "comma" => 51, "dot" => 52, "slash" => 53, "rightshift" => 54, "kpasterisk" => 55, "leftalt" => 56, "space" => 57, "capslock" => 58, "f1" => 59, "f2" => 60, "f3" => 61, "f4" => 62, "f5" => 63, "f6" => 64, "f7" => 65, "f8" => 66, "f9" => 67, "f10" => 68, "numlock" => 69, "scrolllock" => 70, "kp7" => 71, "kp8" => 72, "kp9" => 73, "kpminus" => 74, "kp4" => 75, "kp5" => 76, "kp6" => 77, "kpplus" => 78, "kp1" => 79, "kp2" => 80, "kp3" => 81, "kp0" => 82, "kpdot" => 83, "zenkakuhankaku" => 85, "102nd" => 86, "f11" => 87, "f12" => 88, "ro" => 89, "katakana" => 90, "hiragana" => 91, "henkan" => 92, "katakanahiragana" => 93, "muhenkan" => 94, "kpjpcomma" => 95, "kpenter" => 96, "rightctrl" => 97, "kpslash" => 98, "sysrq" => 99, "rightalt" => 100, "linefeed" => 101, "home" => 102, "up" => 103, "pageup" => 104, "left" => 105, "right" => 106, "end" => 107, "down" => 108, "pagedown" => 109, "insert" => 110, "delete" => 111, "macro" => 112, "mute" => 113, "volumedown" => 114, "volumeup" => 115, "power" => 116, "kpequal" => 117, "kpplusminus" => 118, "pause" => 119, "scale" => 120, "kpcomma" => 121, "hangeul" => 122, "hanguel" => 122, "hanja" => 123, "yen" => 124, "leftmeta" => 125, "rightmeta" => 126, "compose" => 127, "stop" => 128, "again" => 129, "props" => 130, "undo" => 131, "front" => 132, "copy" => 133, "open" => 134, "paste" => 135, "find" => 136, "cut" => 137, "help" => 138, "menu" => 139, "calc" => 140, "setup" => 141, "sleep" => 142, "wakeup" => 143, "file" => 144, "sendfile" => 145, "deletefile" => 146, "xfer" => 147, "prog1" => 148, "prog2" => 149, "www" => 150, "msdos" => 151, "coffee" => 152, "screenlock" => 152, "rotate_display" => 153, "direction" => 153, "cyclewindows" => 154, "mail" => 155, "bookmarks" => 156, "computer" => 157, "back" => 158, "forward" => 159, "closecd" => 160, "ejectcd" => 161, "ejectclosecd" => 162, "nextsong" => 163, "playpause" => 164, "previoussong" => 165, "stopcd" => 166, "record" => 167, "rewind" => 168, "phone" => 169, "iso" => 170, "config" => 171, "homepage" => 172, "refresh" => 173, "exit" => 174, "move" => 175, "edit" => 176, "scrollup" => 177, "scrolldown" => 178, "kpleftparen" => 179, "kprightparen" => 180, "new" => 181, "redo" => 182, "f13" => 183, "f14" => 184, "f15" => 185, "f16" => 186, "f17" => 187, "f18" => 188, "f19" => 189, "f20" => 190, "f21" => 191, "f22" => 192, "f23" => 193, "f24" => 194, "playcd" => 200, "pausecd" => 201, "prog3" => 202, "prog4" => 203, "all_applications" => 204, "dashboard" => 204, "suspend" => 205, "close" => 206, "play" => 207, "fastforward" => 208, "bassboost" => 209, "print" => 210, "hp" => 211, "camera" => 212, "sound" => 213, "question" => 214, "email" => 215, "chat" => 216, "search" => 217, "connect" => 218, "finance" => 219, "sport" => 220, "shop" => 221, "alterase" => 222, "cancel" => 223, "brightnessdown" => 224, "brightnessup" => 225, "media" => 226, "switchvideomode" => 227, "kbdillumtoggle" => 228, "kbdillumdown" => 229, "kbdillumup" => 230, "send" => 231, "reply" => 232, "forwardmail" => 233, "save" => 234, "documents" => 235, "battery" => 236, "bluetooth" => 237, "wlan" => 238, "uwb" => 239, "unknown" => 240, "video_next" => 241, "video_prev" => 242, "brightness_cycle" => 243, "brightness_auto" => 244, "brightness_zero" => 244, "display_off" => 245, "wwan" => 246, "wimax" => 246, "rfkill" => 247, "micmute" => 248, "ok" => 0x160, "select" => 0x161, "goto" => 0x162, "clear" => 0x163, "power2" => 0x164, "option" => 0x165, "info" => 0x166, "time" => 0x167, "vendor" => 0x168, "archive" => 0x169, "program" => 0x16a, "channel" => 0x16b, "favorites" => 0x16c, "epg" => 0x16d, "pvr" => 0x16e, "mhp" => 0x16f, "language" => 0x170, "title" => 0x171, "subtitle" => 0x172, "angle" => 0x173, "full_screen" => 0x174, "zoom" => 0x174, "mode" => 0x175, "keyboard" => 0x176, "aspect_ratio" => 0x177, "screen" => 0x177, "pc" => 0x178, "tv" => 0x179, "tv2" => 0x17a, "vcr" => 0x17b, "vcr2" => 0x17c, "sat" => 0x17d, "sat2" => 0x17e, "cd" => 0x17f, "tape" => 0x180, "radio" => 0x181, "tuner" => 0x182, "player" => 0x183, "text" => 0x184, "dvd" => 0x185, "aux" => 0x186, "mp3" => 0x187, "audio" => 0x188, "video" => 0x189, "directory" => 0x18a, "list" => 0x18b, "memo" => 0x18c, "calendar" => 0x18d, "red" => 0x18e, "green" => 0x18f, "yellow" => 0x190, "blue" => 0x191, "channelup" => 0x192, "channeldown" => 0x193, "first" => 0x194, "last" => 0x195, "ab" => 0x196, "next" => 0x197, "restart" => 0x198, "slow" => 0x199, "shuffle" => 0x19a, "break" => 0x19b, "previous" => 0x19c, "digits" => 0x19d, "teen" => 0x19e, "twen" => 0x19f, "videophone" => 0x1a0, "games" => 0x1a1, "zoomin" => 0x1a2, "zoomout" => 0x1a3, "zoomreset" => 0x1a4, "wordprocessor" => 0x1a5, "editor" => 0x1a6, "spreadsheet" => 0x1a7, "graphicseditor" => 0x1a8, "presentation" => 0x1a9, "database" => 0x1aa, "news" => 0x1ab, "voicemail" => 0x1ac, "addressbook" => 0x1ad, "messenger" => 0x1ae, "displaytoggle" => 0x1af, "brightness_toggle" => 0x1af, "spellcheck" => 0x1b0, "logoff" => 0x1b1, "dollar" => 0x1b2, "euro" => 0x1b3, "frameback" => 0x1b4, "frameforward" => 0x1b5, "context_menu" => 0x1b6, "media_repeat" => 0x1b7, "10channelsup" => 0x1b8, "10channelsdown" => 0x1b9, "images" => 0x1ba, "notification_center" => 0x1bc, "pickup_phone" => 0x1bd, "hangup_phone" => 0x1be, "del_eol" => 0x1c0, "del_eos" => 0x1c1, "ins_line" => 0x1c2, "del_line" => 0x1c3, "fn" => 0x1d0, "fn_esc" => 0x1d1, "fn_f1" => 0x1d2, "fn_f2" => 0x1d3, "fn_f3" => 0x1d4, "fn_f4" => 0x1d5, "fn_f5" => 0x1d6, "fn_f6" => 0x1d7, "fn_f7" => 0x1d8, "fn_f8" => 0x1d9, "fn_f9" => 0x1da, "fn_f10" => 0x1db, "fn_f11" => 0x1dc, "fn_f12" => 0x1dd, "fn_1" => 0x1de, "fn_2" => 0x1df, "fn_d" => 0x1e0, "fn_e" => 0x1e1, "fn_f" => 0x1e2, "fn_s" => 0x1e3, "fn_b" => 0x1e4, "fn_right_shift" => 0x1e5, "brl_dot1" => 0x1f1, "brl_dot2" => 0x1f2, "brl_dot3" => 0x1f3, "brl_dot4" => 0x1f4, "brl_dot5" => 0x1f5, "brl_dot6" => 0x1f6, "brl_dot7" => 0x1f7, "brl_dot8" => 0x1f8, "brl_dot9" => 0x1f9, "brl_dot10" => 0x1fa, "numeric_0" => 0x200, "numeric_1" => 0x201, "numeric_2" => 0x202, "numeric_3" => 0x203, "numeric_4" => 0x204, "numeric_5" => 0x205, "numeric_6" => 0x206, "numeric_7" => 0x207, "numeric_8" => 0x208, "numeric_9" => 0x209, "numeric_star" => 0x20a, "numeric_pound" => 0x20b, "numeric_a" => 0x20c, "numeric_b" => 0x20d, "numeric_c" => 0x20e, "numeric_d" => 0x20f, "camera_focus" => 0x210, "wps_button" => 0x211, "touchpad_toggle" => 0x212, "touchpad_on" => 0x213, "touchpad_off" => 0x214, "camera_zoomin" => 0x215, "camera_zoomout" => 0x216, "camera_up" => 0x217, "camera_down" => 0x218, "camera_left" => 0x219, "camera_right" => 0x21a, "attendant_on" => 0x21b, "attendant_off" => 0x21c, "attendant_toggle" => 0x21d, "lights_toggle" => 0x21e, "als_toggle" => 0x230, "rotate_lock_toggle" => 0x231, "refresh_rate_toggle" => 0x232, "buttonconfig" => 0x240, "taskmanager" => 0x241, "journal" => 0x242, "controlpanel" => 0x243, "appselect" => 0x244, "screensaver" => 0x245, "voicecommand" => 0x246, "assistant" => 0x247, "kbd_layout_next" => 0x248, "emoji_picker" => 0x249, "dictate" => 0x24a, "camera_access_enable" => 0x24b, "camera_access_disable" => 0x24c, "camera_access_toggle" => 0x24d, "accessibility" => 0x24e, "do_not_disturb" => 0x24f, "brightness_min" => 0x250, "brightness_max" => 0x251, "kbdinputassist_prev" => 0x260, "kbdinputassist_next" => 0x261, "kbdinputassist_prevgroup" => 0x262, "kbdinputassist_nextgroup" => 0x263, "kbdinputassist_accept" => 0x264, "kbdinputassist_cancel" => 0x265, "right_up" => 0x266, "right_down" => 0x267, "left_up" => 0x268, "left_down" => 0x269, "root_menu" => 0x26a, "media_top_menu" => 0x26b, "numeric_11" => 0x26c, "numeric_12" => 0x26d, "audio_desc" => 0x26e, "3d_mode" => 0x26f, "next_favorite" => 0x270, "stop_record" => 0x271, "pause_record" => 0x272, "vod" => 0x273, "unmute" => 0x274, "fastreverse" => 0x275, "slowreverse" => 0x276, "data" => 0x277, "onscreen_keyboard" => 0x278, "privacy_screen_toggle" => 0x279, "selective_screenshot" => 0x27a, "next_element" => 0x27b, "previous_element" => 0x27c, "autopilot_engage_toggle" => 0x27d, "mark_waypoint" => 0x27e, "sos" => 0x27f, "nav_chart" => 0x280, "fishing_chart" => 0x281, "single_range_radar" => 0x282, "dual_range_radar" => 0x283, "radar_overlay" => 0x284, "traditional_sonar" => 0x285, "clearvu_sonar" => 0x286, "sidevu_sonar" => 0x287, "nav_info" => 0x288, "brightness_menu" => 0x289, "macro1" => 0x290, "macro2" => 0x291, "macro3" => 0x292, "macro4" => 0x293, "macro5" => 0x294, "macro6" => 0x295, "macro7" => 0x296, "macro8" => 0x297, "macro9" => 0x298, "macro10" => 0x299, "macro11" => 0x29a, "macro12" => 0x29b, "macro13" => 0x29c, "macro14" => 0x29d, "macro15" => 0x29e, "macro16" => 0x29f, "macro17" => 0x2a0, "macro18" => 0x2a1, "macro19" => 0x2a2, "macro20" => 0x2a3, "macro21" => 0x2a4, "macro22" => 0x2a5, "macro23" => 0x2a6, "macro24" => 0x2a7, "macro25" => 0x2a8, "macro26" => 0x2a9, "macro27" => 0x2aa, "macro28" => 0x2ab, "macro29" => 0x2ac, "macro30" => 0x2ad, "macro_record_start" => 0x2b0, "macro_record_stop" => 0x2b1, "macro_preset_cycle" => 0x2b2, "macro_preset1" => 0x2b3, "macro_preset2" => 0x2b4, "macro_preset3" => 0x2b5, "kbd_lcd_menu1" => 0x2b8, "kbd_lcd_menu2" => 0x2b9, "kbd_lcd_menu3" => 0x2ba, "kbd_lcd_menu4" => 0x2bb, "kbd_lcd_menu5" => 0x2bc, };