return {
  ["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;
  ["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;
  ["rotate_display"] = 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;
  ["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;
  ["display_off"] = 245;
  ["wwan"] = 246;
  ["rfkill"] = 247;
  ["micmute"] = 248;
  ["btn_misc"] = 0x100;
  ["btn_0"] = 0x100;
  ["btn_1"] = 0x101;
  ["btn_2"] = 0x102;
  ["btn_3"] = 0x103;
  ["btn_4"] = 0x104;
  ["btn_5"] = 0x105;
  ["btn_6"] = 0x106;
  ["btn_7"] = 0x107;
  ["btn_8"] = 0x108;
  ["btn_9"] = 0x109;
  ["btn_mouse"] = 0x110;
  ["btn_left"] = 0x110;
  ["btn_right"] = 0x111;
  ["btn_middle"] = 0x112;
  ["btn_side"] = 0x113;
  ["btn_extra"] = 0x114;
  ["btn_forward"] = 0x115;
  ["btn_back"] = 0x116;
  ["btn_task"] = 0x117;
  ["btn_joystick"] = 0x120;
  ["btn_trigger"] = 0x120;
  ["btn_thumb"] = 0x121;
  ["btn_thumb2"] = 0x122;
  ["btn_top"] = 0x123;
  ["btn_top2"] = 0x124;
  ["btn_pinkie"] = 0x125;
  ["btn_base"] = 0x126;
  ["btn_base2"] = 0x127;
  ["btn_base3"] = 0x128;
  ["btn_base4"] = 0x129;
  ["btn_base5"] = 0x12a;
  ["btn_base6"] = 0x12b;
  ["btn_dead"] = 0x12f;
  ["btn_gamepad"] = 0x130;
  ["btn_south"] = 0x130;
  ["btn_east"] = 0x131;
  ["btn_c"] = 0x132;
  ["btn_north"] = 0x133;
  ["btn_west"] = 0x134;
  ["btn_z"] = 0x135;
  ["btn_tl"] = 0x136;
  ["btn_tr"] = 0x137;
  ["btn_tl2"] = 0x138;
  ["btn_tr2"] = 0x139;
  ["btn_select"] = 0x13a;
  ["btn_start"] = 0x13b;
  ["btn_mode"] = 0x13c;
  ["btn_thumbl"] = 0x13d;
  ["btn_thumbr"] = 0x13e;
  ["btn_digi"] = 0x140;
  ["btn_tool_pen"] = 0x140;
  ["btn_tool_rubber"] = 0x141;
  ["btn_tool_brush"] = 0x142;
  ["btn_tool_pencil"] = 0x143;
  ["btn_tool_airbrush"] = 0x144;
  ["btn_tool_finger"] = 0x145;
  ["btn_tool_mouse"] = 0x146;
  ["btn_tool_lens"] = 0x147;
  ["btn_tool_quinttap"] = 0x148;
  ["btn_touch"] = 0x14a;
  ["btn_stylus"] = 0x14b;
  ["btn_stylus2"] = 0x14c;
  ["btn_tool_doubletap"] = 0x14d;
  ["btn_tool_tripletap"] = 0x14e;
  ["btn_tool_quadtap"] = 0x14f;
  ["btn_wheel"] = 0x150;
  ["btn_gear_down"] = 0x150;
  ["btn_gear_up"] = 0x151;
  ["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;
  ["zoom"] = 0x174;
  ["mode"] = 0x175;
  ["keyboard"] = 0x176;
  ["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;
  ["spellcheck"] = 0x1b0;
  ["logoff"] = 0x1b1;
  ["dollar"] = 0x1b2;
  ["euro"] = 0x1b3;
  ["frameback"] = 0x1b4;
  ["frameforward"] = 0x1b5;
  ["context_menu"] = 0x1b6;
  ["media_repeat"] = 0x1b7;
  ["10channelsup"] = 0x1b8;
  ["10channelsdown"] = 0x1b9;
  ["images"] = 0x1ba;
  ["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;
  ["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;
  ["btn_dpad_up"] = 0x220;
  ["btn_dpad_down"] = 0x221;
  ["btn_dpad_left"] = 0x222;
  ["btn_dpad_right"] = 0x223;
  ["als_toggle"] = 0x230;
  ["buttonconfig"] = 0x240;
  ["taskmanager"] = 0x241;
  ["journal"] = 0x242;
  ["controlpanel"] = 0x243;
  ["appselect"] = 0x244;
  ["screensaver"] = 0x245;
  ["voicecommand"] = 0x246;
  ["assistant"] = 0x247;
  ["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;
}
