use std::collections::HashMap;
use std::sync::LazyLock;
pub static SHORTNAMES: LazyLock<HashMap<u16, &str>> = LazyLock::new(|| {
let mut m = HashMap::new();
m.insert(0x0000, "⌧");
m.insert(0x0001, "▽");
m.insert(0x0004, "A");
m.insert(0x0005, "B");
m.insert(0x0006, "C");
m.insert(0x0007, "D");
m.insert(0x0008, "E");
m.insert(0x0009, "F");
m.insert(0x000A, "G");
m.insert(0x000B, "H");
m.insert(0x000C, "I");
m.insert(0x000D, "J");
m.insert(0x000E, "K");
m.insert(0x000F, "L");
m.insert(0x0010, "M");
m.insert(0x0011, "N");
m.insert(0x0012, "O");
m.insert(0x0013, "P");
m.insert(0x0014, "Q");
m.insert(0x0015, "R");
m.insert(0x0016, "S");
m.insert(0x0017, "T");
m.insert(0x0018, "U");
m.insert(0x0019, "V");
m.insert(0x001A, "W");
m.insert(0x001B, "X");
m.insert(0x001C, "Y");
m.insert(0x001D, "Z");
m.insert(0x001E, "1");
m.insert(0x001F, "2");
m.insert(0x0020, "3");
m.insert(0x0021, "4");
m.insert(0x0022, "5");
m.insert(0x0023, "6");
m.insert(0x0024, "7");
m.insert(0x0025, "8");
m.insert(0x0026, "9");
m.insert(0x0027, "0");
m.insert(0x0028, "⏎");
m.insert(0x0029, "⎋");
m.insert(0x002A, "⌫");
m.insert(0x002B, "⇥");
m.insert(0x002C, "␣");
m.insert(0x002D, "-");
m.insert(0x002E, "=");
m.insert(0x002F, "(");
m.insert(0x0030, ")");
m.insert(0x0031, "\\");
m.insert(0x0032, "#");
m.insert(0x0033, ";");
m.insert(0x0034, "'");
m.insert(0x0035, "~");
m.insert(0x0036, ",");
m.insert(0x0037, ".");
m.insert(0x0038, "/");
m.insert(0x0039, "⇪");
m.insert(0x003A, "F1");
m.insert(0x003B, "F2");
m.insert(0x003C, "F3");
m.insert(0x003D, "F4");
m.insert(0x003E, "F5");
m.insert(0x003F, "F6");
m.insert(0x0040, "F7");
m.insert(0x0041, "F8");
m.insert(0x0042, "F9");
m.insert(0x0043, "F,10");
m.insert(0x0044, "F,11");
m.insert(0x0045, "F,12");
m.insert(0x0048, "⏸");
m.insert(0x0049, "INS");
m.insert(0x004A, "⇱");
m.insert(0x004B, "⇞");
m.insert(0x004C, "⌦");
m.insert(0x004D, "⇲");
m.insert(0x004E, "⇟");
m.insert(0x004F, "→");
m.insert(0x0050, "←");
m.insert(0x0051, "↓");
m.insert(0x0052, "↑");
m.insert(0x0053, "⇭");
m.insert(0x0054, "/");
m.insert(0x0055, "K*");
m.insert(0x0056, "K-");
m.insert(0x0057, "K+");
m.insert(0x0058, "K⏎");
m.insert(0x0059, "K1");
m.insert(0x005A, "K2");
m.insert(0x005B, "K3");
m.insert(0x005C, "K4");
m.insert(0x005D, "K5");
m.insert(0x005E, "K6");
m.insert(0x005F, "K7");
m.insert(0x0060, "K8");
m.insert(0x0061, "K9");
m.insert(0x0062, "K0");
m.insert(0x0063, "K.");
m.insert(0x0064, "\\");
m.insert(0x0065, "APP");
m.insert(0x0066, "⌽");
m.insert(0x0067, "K=");
m.insert(0x0068, "F,13");
m.insert(0x0069, "F,14");
m.insert(0x006A, "F,15");
m.insert(0x006B, "F,16");
m.insert(0x006C, "F,17");
m.insert(0x006D, "F,18");
m.insert(0x006E, "F,19");
m.insert(0x006F, "F,20");
m.insert(0x0070, "F,21");
m.insert(0x0071, "F,22");
m.insert(0x0072, "F,23");
m.insert(0x0073, "F,24");
m.insert(0x0074, "EXE");
m.insert(0x0075, "HLP");
m.insert(0x0076, "🍔");
m.insert(0x0078, "⏹");
m.insert(0x0079, "🔁");
m.insert(0x007A, "⎌");
m.insert(0x007B, "✂");
m.insert(0x007C, "CPY");
m.insert(0x007D, "PST");
m.insert(0x007E, "🔎");
m.insert(0x007F, "Mut");
m.insert(0x0080, "V+");
m.insert(0x0081, "V-");
m.insert(0x0085, "K,");
m.insert(0x00A8, "Mut");
m.insert(0x00A9, "V+");
m.insert(0x00AA, "V-");
m.insert(0x00AB, ">>");
m.insert(0x00AC, "<<");
m.insert(0x00AD, "KC_MEDIA_STOP");
m.insert(0x00AE, "⏯");
m.insert(0x00AF, "KC_MEDIA_SELECT");
m.insert(0x00B0, "KC_MEDIA_EJECT");
m.insert(0x00BB, "FW");
m.insert(0x00BC, "RW");
m.insert(0x00BD, "B+");
m.insert(0x00BE, "B-");
m.insert(0x00C1, "⌘");
m.insert(0x00C2, "LP");
m.insert(0x00CD, "Mo,↑");
m.insert(0x00CE, "Mo,↓");
m.insert(0x00CF, "Mo,←");
m.insert(0x00D0, "Mo,→");
m.insert(0x00D1, "Mo,1");
m.insert(0x00D2, "Mo,2");
m.insert(0x00D3, "Mo,3");
m.insert(0x00D4, "Mo,4");
m.insert(0x00D5, "Mo,5");
m.insert(0x00D6, "Mo,6");
m.insert(0x00D7, "Mo,7");
m.insert(0x00D8, "Mo,8");
m.insert(0x00D9, "⚙↑");
m.insert(0x00DA, "⚙↓");
m.insert(0x00DB, "⚙←");
m.insert(0x00DC, "⚙→");
m.insert(0x00E0, "L⌃");
m.insert(0x00E1, "L⇧");
m.insert(0x00E2, "L⌥");
m.insert(0x00E3, "L⌘");
m.insert(0x00E4, "R⌃");
m.insert(0x00E5, "R⇧");
m.insert(0x00E6, "R⌥");
m.insert(0x00E7, "R⌘");
m.insert(0x5700, "TD,0");
m.insert(0x5701, "TD,1");
m.insert(0x5702, "TD,2");
m.insert(0x5703, "TD,3");
m.insert(0x5704, "TD,4");
m.insert(0x5705, "TD,5");
m.insert(0x5706, "TD,6");
m.insert(0x5707, "TD,7");
m.insert(0x5708, "TD,8");
m.insert(0x5709, "TD,9");
m.insert(0x570A, "TD,10");
m.insert(0x570B, "TD,11");
m.insert(0x570C, "TD,12");
m.insert(0x570D, "TD,13");
m.insert(0x570E, "TD,14");
m.insert(0x570F, "TD,15");
m.insert(0x7700, "M,0");
m.insert(0x7701, "M,1");
m.insert(0x7702, "M,2");
m.insert(0x7703, "M,3");
m.insert(0x7704, "M,4");
m.insert(0x7705, "M,5");
m.insert(0x7706, "M,6");
m.insert(0x7707, "M,7");
m.insert(0x7708, "M,8");
m.insert(0x7709, "M,9");
m.insert(0x770A, "M,10");
m.insert(0x770B, "M,11");
m.insert(0x770C, "M,12");
m.insert(0x770D, "M,13");
m.insert(0x770E, "M,14");
m.insert(0x770F, "M,15");
m.insert(0x7710, "M,16");
m.insert(0x7711, "M,17");
m.insert(0x7712, "M,18");
m.insert(0x7713, "M,19");
m.insert(0x7714, "M,20");
m.insert(0x7715, "M,21");
m.insert(0x7716, "M,22");
m.insert(0x7717, "M,23");
m.insert(0x7718, "M,24");
m.insert(0x7719, "M,25");
m.insert(0x771A, "M,26");
m.insert(0x771B, "M,27");
m.insert(0x771C, "M,28");
m.insert(0x771D, "M,29");
m.insert(0x771E, "M,30");
m.insert(0x771F, "M,31");
m.insert(0x7E00, "⌨,0");
m.insert(0x7E01, "⌨,1");
m.insert(0x7E02, "⌨,2");
m.insert(0x7E03, "⌨,3");
m.insert(0x7E04, "⌨,4");
m.insert(0x7E05, "⌨,5");
m.insert(0x7E06, "⌨,6");
m.insert(0x7E07, "⌨,7");
m.insert(0x7E08, "⌨,8");
m.insert(0x7E09, "⌨,9");
m.insert(0x7E0A, "⌨,10");
m.insert(0x7E0B, "⌨,11");
m.insert(0x7E0C, "⌨,12");
m.insert(0x7E0D, "⌨,13");
m.insert(0x7E0E, "⌨,14");
m.insert(0x7E0F, "⌨,15");
m.insert(0x7E10, "⌨,16");
m.insert(0x7E11, "⌨,17");
m.insert(0x7E12, "⌨,18");
m.insert(0x7E13, "⌨,19");
m.insert(0x7E14, "⌨,20");
m.insert(0x7E15, "⌨,21");
m.insert(0x7E16, "⌨,22");
m.insert(0x7E17, "⌨,23");
m.insert(0x7E18, "⌨,24");
m.insert(0x7E19, "⌨,25");
m.insert(0x7E1A, "⌨,26");
m.insert(0x7E1B, "⌨,27");
m.insert(0x7E1C, "⌨,28");
m.insert(0x7E1D, "⌨,29");
m.insert(0x7E1E, "⌨,30");
m.insert(0x7E1F, "⌨,31");
m.insert(0x7E40, "QK_USER_0");
m.insert(0x7E41, "QK_USER_1");
m.insert(0x7E42, "QK_USER_2");
m.insert(0x7E43, "QK_USER_3");
m.insert(0x7E44, "QK_USER_4");
m.insert(0x7E45, "QK_USER_5");
m.insert(0x7E46, "QK_USER_6");
m.insert(0x7E47, "QK_USER_7");
m.insert(0x7E48, "QK_USER_8");
m.insert(0x7E49, "QK_USER_9");
m.insert(0x7E4A, "QK_USER_10");
m.insert(0x7E4B, "QK_USER_11");
m.insert(0x7E4C, "QK_USER_12");
m.insert(0x7E4D, "QK_USER_13");
m.insert(0x7E4E, "QK_USER_14");
m.insert(0x7E4F, "QK_USER_15");
m.insert(0x7E50, "QK_USER_16");
m.insert(0x7E51, "QK_USER_17");
m.insert(0x7E52, "QK_USER_18");
m.insert(0x7E53, "QK_USER_19");
m.insert(0x7E54, "QK_USER_20");
m.insert(0x7E55, "QK_USER_21");
m.insert(0x7E56, "QK_USER_22");
m.insert(0x7E57, "QK_USER_23");
m.insert(0x7E58, "QK_USER_24");
m.insert(0x7E59, "QK_USER_25");
m.insert(0x7E5A, "QK_USER_26");
m.insert(0x7E5B, "QK_USER_27");
m.insert(0x7E5C, "QK_USER_28");
m.insert(0x7E5D, "QK_USER_29");
m.insert(0x7E5E, "QK_USER_30");
m.insert(0x7E5F, "QK_USER_31");
m.insert(0x7C77, "Fn1,Fn3");
m.insert(0x7C78, "Fn2,Fn3");
m
});
pub static FULLNAMES: LazyLock<HashMap<u16, &str>> = LazyLock::new(|| {
let mut m = HashMap::new();
m.insert(0x0000, "KC_NO");
m.insert(0x0001, "KC_TRANSPARENT");
m.insert(0x0004, "KC_A");
m.insert(0x0005, "KC_B");
m.insert(0x0006, "KC_C");
m.insert(0x0007, "KC_D");
m.insert(0x0008, "KC_E");
m.insert(0x0009, "KC_F");
m.insert(0x000A, "KC_G");
m.insert(0x000B, "KC_H");
m.insert(0x000C, "KC_I");
m.insert(0x000D, "KC_J");
m.insert(0x000E, "KC_K");
m.insert(0x000F, "KC_L");
m.insert(0x0010, "KC_M");
m.insert(0x0011, "KC_N");
m.insert(0x0012, "KC_O");
m.insert(0x0013, "KC_P");
m.insert(0x0014, "KC_Q");
m.insert(0x0015, "KC_R");
m.insert(0x0016, "KC_S");
m.insert(0x0017, "KC_T");
m.insert(0x0018, "KC_U");
m.insert(0x0019, "KC_V");
m.insert(0x001A, "KC_W");
m.insert(0x001B, "KC_X");
m.insert(0x001C, "KC_Y");
m.insert(0x001D, "KC_Z");
m.insert(0x001E, "KC_1");
m.insert(0x001F, "KC_2");
m.insert(0x0020, "KC_3");
m.insert(0x0021, "KC_4");
m.insert(0x0022, "KC_5");
m.insert(0x0023, "KC_6");
m.insert(0x0024, "KC_7");
m.insert(0x0025, "KC_8");
m.insert(0x0026, "KC_9");
m.insert(0x0027, "KC_0");
m.insert(0x0028, "KC_ENTER");
m.insert(0x0029, "KC_ESCAPE");
m.insert(0x002A, "KC_BACKSPACE");
m.insert(0x002B, "KC_TAB");
m.insert(0x002C, "KC_SPACE");
m.insert(0x002D, "KC_MINUS");
m.insert(0x002E, "KC_EQUAL");
m.insert(0x002F, "KC_LEFT_BRACKET");
m.insert(0x0030, "KC_RIGHT_BRACKET");
m.insert(0x0031, "KC_BACKSLASH");
m.insert(0x0032, "KC_NONUS_HASH");
m.insert(0x0033, "KC_SEMICOLON");
m.insert(0x0034, "KC_QUOTE");
m.insert(0x0035, "KC_GRAVE");
m.insert(0x0036, "KC_COMMA");
m.insert(0x0037, "KC_DOT");
m.insert(0x0038, "KC_SLASH");
m.insert(0x0039, "KC_CAPS_LOCK");
m.insert(0x003A, "KC_F1");
m.insert(0x003B, "KC_F2");
m.insert(0x003C, "KC_F3");
m.insert(0x003D, "KC_F4");
m.insert(0x003E, "KC_F5");
m.insert(0x003F, "KC_F6");
m.insert(0x0040, "KC_F7");
m.insert(0x0041, "KC_F8");
m.insert(0x0042, "KC_F9");
m.insert(0x0043, "KC_F10");
m.insert(0x0044, "KC_F11");
m.insert(0x0045, "KC_F12");
m.insert(0x0046, "KC_PRINT_SCREEN");
m.insert(0x0047, "KC_SCROLL_LOCK");
m.insert(0x0048, "KC_PAUSE");
m.insert(0x0049, "KC_INSERT");
m.insert(0x004A, "KC_HOME");
m.insert(0x004B, "KC_PAGE_UP");
m.insert(0x004C, "KC_DELETE");
m.insert(0x004D, "KC_END");
m.insert(0x004E, "KC_PAGE_DOWN");
m.insert(0x004F, "KC_RIGHT");
m.insert(0x0050, "KC_LEFT");
m.insert(0x0051, "KC_DOWN");
m.insert(0x0052, "KC_UP");
m.insert(0x0053, "KC_NUM_LOCK");
m.insert(0x0054, "KC_KP_SLASH");
m.insert(0x0055, "KC_KP_ASTERISK");
m.insert(0x0056, "KC_KP_MINUS");
m.insert(0x0057, "KC_KP_PLUS");
m.insert(0x0058, "KC_KP_ENTER");
m.insert(0x0059, "KC_KP_1");
m.insert(0x005A, "KC_KP_2");
m.insert(0x005B, "KC_KP_3");
m.insert(0x005C, "KC_KP_4");
m.insert(0x005D, "KC_KP_5");
m.insert(0x005E, "KC_KP_6");
m.insert(0x005F, "KC_KP_7");
m.insert(0x0060, "KC_KP_8");
m.insert(0x0061, "KC_KP_9");
m.insert(0x0062, "KC_KP_0");
m.insert(0x0063, "KC_KP_DOT");
m.insert(0x0064, "KC_NONUS_BACKSLASH");
m.insert(0x0065, "KC_APPLICATION");
m.insert(0x0066, "KC_KB_POWER");
m.insert(0x0067, "KC_KP_EQUAL");
m.insert(0x0068, "KC_F13");
m.insert(0x0069, "KC_F14");
m.insert(0x006A, "KC_F15");
m.insert(0x006B, "KC_F16");
m.insert(0x006C, "KC_F17");
m.insert(0x006D, "KC_F18");
m.insert(0x006E, "KC_F19");
m.insert(0x006F, "KC_F20");
m.insert(0x0070, "KC_F21");
m.insert(0x0071, "KC_F22");
m.insert(0x0072, "KC_F23");
m.insert(0x0073, "KC_F24");
m.insert(0x0074, "KC_EXECUTE");
m.insert(0x0075, "KC_HELP");
m.insert(0x0076, "KC_MENU");
m.insert(0x0077, "KC_SELECT");
m.insert(0x0078, "KC_STOP");
m.insert(0x0079, "KC_AGAIN");
m.insert(0x007A, "KC_UNDO");
m.insert(0x007B, "KC_CUT");
m.insert(0x007C, "KC_COPY");
m.insert(0x007D, "KC_PASTE");
m.insert(0x007E, "KC_FIND");
m.insert(0x007F, "KC_KB_MUTE");
m.insert(0x0080, "KC_KB_VOLUME_UP");
m.insert(0x0081, "KC_KB_VOLUME_DOWN");
m.insert(0x0082, "KC_LOCKING_CAPS_LOCK");
m.insert(0x0083, "KC_LOCKING_NUM_LOCK");
m.insert(0x0084, "KC_LOCKING_SCROLL_LOCK");
m.insert(0x0085, "KC_KP_COMMA");
m.insert(0x0086, "KC_KP_EQUAL_AS400");
m.insert(0x0087, "KC_INTERNATIONAL_1");
m.insert(0x0088, "KC_INTERNATIONAL_2");
m.insert(0x0089, "KC_INTERNATIONAL_3");
m.insert(0x008A, "KC_INTERNATIONAL_4");
m.insert(0x008B, "KC_INTERNATIONAL_5");
m.insert(0x008C, "KC_INTERNATIONAL_6");
m.insert(0x008D, "KC_INTERNATIONAL_7");
m.insert(0x008E, "KC_INTERNATIONAL_8");
m.insert(0x008F, "KC_INTERNATIONAL_9");
m.insert(0x0090, "KC_LANGUAGE_1");
m.insert(0x0091, "KC_LANGUAGE_2");
m.insert(0x0092, "KC_LANGUAGE_3");
m.insert(0x0093, "KC_LANGUAGE_4");
m.insert(0x0094, "KC_LANGUAGE_5");
m.insert(0x0095, "KC_LANGUAGE_6");
m.insert(0x0096, "KC_LANGUAGE_7");
m.insert(0x0097, "KC_LANGUAGE_8");
m.insert(0x0098, "KC_LANGUAGE_9");
m.insert(0x0099, "KC_ALTERNATE_ERASE");
m.insert(0x009A, "KC_SYSTEM_REQUEST");
m.insert(0x009B, "KC_CANCEL");
m.insert(0x009C, "KC_CLEAR");
m.insert(0x009D, "KC_PRIOR");
m.insert(0x009E, "KC_RETURN");
m.insert(0x009F, "KC_SEPARATOR");
m.insert(0x00A0, "KC_OUT");
m.insert(0x00A1, "KC_OPER");
m.insert(0x00A2, "KC_CLEAR_AGAIN");
m.insert(0x00A3, "KC_CRSEL");
m.insert(0x00A4, "KC_EXSEL");
m.insert(0x00A5, "KC_SYSTEM_POWER");
m.insert(0x00A6, "KC_SYSTEM_SLEEP");
m.insert(0x00A7, "KC_SYSTEM_WAKE");
m.insert(0x00A8, "KC_AUDIO_MUTE");
m.insert(0x00A9, "KC_AUDIO_VOL_UP");
m.insert(0x00AA, "KC_AUDIO_VOL_DOWN");
m.insert(0x00AB, "KC_MEDIA_NEXT_TRACK");
m.insert(0x00AC, "KC_MEDIA_PREV_TRACK");
m.insert(0x00AD, "KC_MEDIA_STOP");
m.insert(0x00AE, "KC_MEDIA_PLAY_PAUSE");
m.insert(0x00AF, "KC_MEDIA_SELECT");
m.insert(0x00B0, "KC_MEDIA_EJECT");
m.insert(0x00B1, "KC_MAIL");
m.insert(0x00B2, "KC_CALCULATOR");
m.insert(0x00B3, "KC_MY_COMPUTER");
m.insert(0x00B4, "KC_WWW_SEARCH");
m.insert(0x00B5, "KC_WWW_HOME");
m.insert(0x00B6, "KC_WWW_BACK");
m.insert(0x00B7, "KC_WWW_FORWARD");
m.insert(0x00B8, "KC_WWW_STOP");
m.insert(0x00B9, "KC_WWW_REFRESH");
m.insert(0x00BA, "KC_WWW_FAVORITES");
m.insert(0x00BB, "KC_MEDIA_FAST_FORWARD");
m.insert(0x00BC, "KC_MEDIA_REWIND");
m.insert(0x00BD, "KC_BRIGHTNESS_UP");
m.insert(0x00BE, "KC_BRIGHTNESS_DOWN");
m.insert(0x00BF, "KC_CONTROL_PANEL");
m.insert(0x00C0, "KC_ASSISTANT");
m.insert(0x00C1, "KC_MISSION_CONTROL");
m.insert(0x00C2, "KC_LAUNCHPAD");
m.insert(0x00CD, "QK_MOUSE_CURSOR_UP");
m.insert(0x00CE, "QK_MOUSE_CURSOR_DOWN");
m.insert(0x00CF, "QK_MOUSE_CURSOR_LEFT");
m.insert(0x00D0, "QK_MOUSE_CURSOR_RIGHT");
m.insert(0x00D1, "QK_MOUSE_BUTTON_1");
m.insert(0x00D2, "QK_MOUSE_BUTTON_2");
m.insert(0x00D3, "QK_MOUSE_BUTTON_3");
m.insert(0x00D4, "QK_MOUSE_BUTTON_4");
m.insert(0x00D5, "QK_MOUSE_BUTTON_5");
m.insert(0x00D6, "QK_MOUSE_BUTTON_6");
m.insert(0x00D7, "QK_MOUSE_BUTTON_7");
m.insert(0x00D8, "QK_MOUSE_BUTTON_8");
m.insert(0x00D9, "QK_MOUSE_WHEEL_UP");
m.insert(0x00DA, "QK_MOUSE_WHEEL_DOWN");
m.insert(0x00DB, "QK_MOUSE_WHEEL_LEFT");
m.insert(0x00DC, "QK_MOUSE_WHEEL_RIGHT");
m.insert(0x00DD, "QK_MOUSE_ACCELERATION_0");
m.insert(0x00DE, "QK_MOUSE_ACCELERATION_1");
m.insert(0x00DF, "QK_MOUSE_ACCELERATION_2");
m.insert(0x00E0, "KC_LEFT_CTRL");
m.insert(0x00E1, "KC_LEFT_SHIFT");
m.insert(0x00E2, "KC_LEFT_ALT");
m.insert(0x00E3, "KC_LEFT_GUI");
m.insert(0x00E4, "KC_RIGHT_CTRL");
m.insert(0x00E5, "KC_RIGHT_SHIFT");
m.insert(0x00E6, "KC_RIGHT_ALT");
m.insert(0x00E7, "KC_RIGHT_GUI");
m.insert(0x56F0, "QK_SWAP_HANDS_TOGGLE");
m.insert(0x56F1, "QK_SWAP_HANDS_TAP_TOGGLE");
m.insert(0x56F2, "QK_SWAP_HANDS_MOMENTARY_ON");
m.insert(0x56F3, "QK_SWAP_HANDS_MOMENTARY_OFF");
m.insert(0x56F4, "QK_SWAP_HANDS_OFF");
m.insert(0x56F5, "QK_SWAP_HANDS_ON");
m.insert(0x56F6, "QK_SWAP_HANDS_ONE_SHOT");
m.insert(0x7000, "QK_MAGIC_SWAP_CONTROL_CAPS_LOCK");
m.insert(0x7001, "QK_MAGIC_UNSWAP_CONTROL_CAPS_LOCK");
m.insert(0x7002, "QK_MAGIC_TOGGLE_CONTROL_CAPS_LOCK");
m.insert(0x7003, "QK_MAGIC_CAPS_LOCK_AS_CONTROL_OFF");
m.insert(0x7004, "QK_MAGIC_CAPS_LOCK_AS_CONTROL_ON");
m.insert(0x7005, "QK_MAGIC_SWAP_LALT_LGUI");
m.insert(0x7006, "QK_MAGIC_UNSWAP_LALT_LGUI");
m.insert(0x7007, "QK_MAGIC_SWAP_RALT_RGUI");
m.insert(0x7008, "QK_MAGIC_UNSWAP_RALT_RGUI");
m.insert(0x7009, "QK_MAGIC_GUI_ON");
m.insert(0x700A, "QK_MAGIC_GUI_OFF");
m.insert(0x700B, "QK_MAGIC_TOGGLE_GUI");
m.insert(0x700C, "QK_MAGIC_SWAP_GRAVE_ESC");
m.insert(0x700D, "QK_MAGIC_UNSWAP_GRAVE_ESC");
m.insert(0x700E, "QK_MAGIC_SWAP_BACKSLASH_BACKSPACE");
m.insert(0x700F, "QK_MAGIC_UNSWAP_BACKSLASH_BACKSPACE");
m.insert(0x7010, "QK_MAGIC_TOGGLE_BACKSLASH_BACKSPACE");
m.insert(0x7011, "QK_MAGIC_NKRO_ON");
m.insert(0x7012, "QK_MAGIC_NKRO_OFF");
m.insert(0x7013, "QK_MAGIC_TOGGLE_NKRO");
m.insert(0x7014, "QK_MAGIC_SWAP_ALT_GUI");
m.insert(0x7015, "QK_MAGIC_UNSWAP_ALT_GUI");
m.insert(0x7016, "QK_MAGIC_TOGGLE_ALT_GUI");
m.insert(0x7017, "QK_MAGIC_SWAP_LCTL_LGUI");
m.insert(0x7018, "QK_MAGIC_UNSWAP_LCTL_LGUI");
m.insert(0x7019, "QK_MAGIC_SWAP_RCTL_RGUI");
m.insert(0x701A, "QK_MAGIC_UNSWAP_RCTL_RGUI");
m.insert(0x701B, "QK_MAGIC_SWAP_CTL_GUI");
m.insert(0x701C, "QK_MAGIC_UNSWAP_CTL_GUI");
m.insert(0x701D, "QK_MAGIC_TOGGLE_CTL_GUI");
m.insert(0x701E, "QK_MAGIC_EE_HANDS_LEFT");
m.insert(0x701F, "QK_MAGIC_EE_HANDS_RIGHT");
m.insert(0x7020, "QK_MAGIC_SWAP_ESCAPE_CAPS_LOCK");
m.insert(0x7021, "QK_MAGIC_UNSWAP_ESCAPE_CAPS_LOCK");
m.insert(0x7022, "QK_MAGIC_TOGGLE_ESCAPE_CAPS_LOCK");
m.insert(0x7100, "QK_MIDI_ON");
m.insert(0x7101, "QK_MIDI_OFF");
m.insert(0x7102, "QK_MIDI_TOGGLE");
m.insert(0x7103, "QK_MIDI_NOTE_C_0");
m.insert(0x7104, "QK_MIDI_NOTE_C_SHARP_0");
m.insert(0x7105, "QK_MIDI_NOTE_D_0");
m.insert(0x7106, "QK_MIDI_NOTE_D_SHARP_0");
m.insert(0x7107, "QK_MIDI_NOTE_E_0");
m.insert(0x7108, "QK_MIDI_NOTE_F_0");
m.insert(0x7109, "QK_MIDI_NOTE_F_SHARP_0");
m.insert(0x710A, "QK_MIDI_NOTE_G_0");
m.insert(0x710B, "QK_MIDI_NOTE_G_SHARP_0");
m.insert(0x710C, "QK_MIDI_NOTE_A_0");
m.insert(0x710D, "QK_MIDI_NOTE_A_SHARP_0");
m.insert(0x710E, "QK_MIDI_NOTE_B_0");
m.insert(0x710F, "QK_MIDI_NOTE_C_1");
m.insert(0x7110, "QK_MIDI_NOTE_C_SHARP_1");
m.insert(0x7111, "QK_MIDI_NOTE_D_1");
m.insert(0x7112, "QK_MIDI_NOTE_D_SHARP_1");
m.insert(0x7113, "QK_MIDI_NOTE_E_1");
m.insert(0x7114, "QK_MIDI_NOTE_F_1");
m.insert(0x7115, "QK_MIDI_NOTE_F_SHARP_1");
m.insert(0x7116, "QK_MIDI_NOTE_G_1");
m.insert(0x7117, "QK_MIDI_NOTE_G_SHARP_1");
m.insert(0x7118, "QK_MIDI_NOTE_A_1");
m.insert(0x7119, "QK_MIDI_NOTE_A_SHARP_1");
m.insert(0x711A, "QK_MIDI_NOTE_B_1");
m.insert(0x711B, "QK_MIDI_NOTE_C_2");
m.insert(0x711C, "QK_MIDI_NOTE_C_SHARP_2");
m.insert(0x711D, "QK_MIDI_NOTE_D_2");
m.insert(0x711E, "QK_MIDI_NOTE_D_SHARP_2");
m.insert(0x711F, "QK_MIDI_NOTE_E_2");
m.insert(0x7120, "QK_MIDI_NOTE_F_2");
m.insert(0x7121, "QK_MIDI_NOTE_F_SHARP_2");
m.insert(0x7122, "QK_MIDI_NOTE_G_2");
m.insert(0x7123, "QK_MIDI_NOTE_G_SHARP_2");
m.insert(0x7124, "QK_MIDI_NOTE_A_2");
m.insert(0x7125, "QK_MIDI_NOTE_A_SHARP_2");
m.insert(0x7126, "QK_MIDI_NOTE_B_2");
m.insert(0x7127, "QK_MIDI_NOTE_C_3");
m.insert(0x7128, "QK_MIDI_NOTE_C_SHARP_3");
m.insert(0x7129, "QK_MIDI_NOTE_D_3");
m.insert(0x712A, "QK_MIDI_NOTE_D_SHARP_3");
m.insert(0x712B, "QK_MIDI_NOTE_E_3");
m.insert(0x712C, "QK_MIDI_NOTE_F_3");
m.insert(0x712D, "QK_MIDI_NOTE_F_SHARP_3");
m.insert(0x712E, "QK_MIDI_NOTE_G_3");
m.insert(0x712F, "QK_MIDI_NOTE_G_SHARP_3");
m.insert(0x7130, "QK_MIDI_NOTE_A_3");
m.insert(0x7131, "QK_MIDI_NOTE_A_SHARP_3");
m.insert(0x7132, "QK_MIDI_NOTE_B_3");
m.insert(0x7133, "QK_MIDI_NOTE_C_4");
m.insert(0x7134, "QK_MIDI_NOTE_C_SHARP_4");
m.insert(0x7135, "QK_MIDI_NOTE_D_4");
m.insert(0x7136, "QK_MIDI_NOTE_D_SHARP_4");
m.insert(0x7137, "QK_MIDI_NOTE_E_4");
m.insert(0x7138, "QK_MIDI_NOTE_F_4");
m.insert(0x7139, "QK_MIDI_NOTE_F_SHARP_4");
m.insert(0x713A, "QK_MIDI_NOTE_G_4");
m.insert(0x713B, "QK_MIDI_NOTE_G_SHARP_4");
m.insert(0x713C, "QK_MIDI_NOTE_A_4");
m.insert(0x713D, "QK_MIDI_NOTE_A_SHARP_4");
m.insert(0x713E, "QK_MIDI_NOTE_B_4");
m.insert(0x713F, "QK_MIDI_NOTE_C_5");
m.insert(0x7140, "QK_MIDI_NOTE_C_SHARP_5");
m.insert(0x7141, "QK_MIDI_NOTE_D_5");
m.insert(0x7142, "QK_MIDI_NOTE_D_SHARP_5");
m.insert(0x7143, "QK_MIDI_NOTE_E_5");
m.insert(0x7144, "QK_MIDI_NOTE_F_5");
m.insert(0x7145, "QK_MIDI_NOTE_F_SHARP_5");
m.insert(0x7146, "QK_MIDI_NOTE_G_5");
m.insert(0x7147, "QK_MIDI_NOTE_G_SHARP_5");
m.insert(0x7148, "QK_MIDI_NOTE_A_5");
m.insert(0x7149, "QK_MIDI_NOTE_A_SHARP_5");
m.insert(0x714A, "QK_MIDI_NOTE_B_5");
m.insert(0x714B, "QK_MIDI_OCTAVE_N2");
m.insert(0x714C, "QK_MIDI_OCTAVE_N1");
m.insert(0x714D, "QK_MIDI_OCTAVE_0");
m.insert(0x714E, "QK_MIDI_OCTAVE_1");
m.insert(0x714F, "QK_MIDI_OCTAVE_2");
m.insert(0x7150, "QK_MIDI_OCTAVE_3");
m.insert(0x7151, "QK_MIDI_OCTAVE_4");
m.insert(0x7152, "QK_MIDI_OCTAVE_5");
m.insert(0x7153, "QK_MIDI_OCTAVE_6");
m.insert(0x7154, "QK_MIDI_OCTAVE_7");
m.insert(0x7155, "QK_MIDI_OCTAVE_DOWN");
m.insert(0x7156, "QK_MIDI_OCTAVE_UP");
m.insert(0x7157, "QK_MIDI_TRANSPOSE_N6");
m.insert(0x7158, "QK_MIDI_TRANSPOSE_N5");
m.insert(0x7159, "QK_MIDI_TRANSPOSE_N4");
m.insert(0x715A, "QK_MIDI_TRANSPOSE_N3");
m.insert(0x715B, "QK_MIDI_TRANSPOSE_N2");
m.insert(0x715C, "QK_MIDI_TRANSPOSE_N1");
m.insert(0x715D, "QK_MIDI_TRANSPOSE_0");
m.insert(0x715E, "QK_MIDI_TRANSPOSE_1");
m.insert(0x715F, "QK_MIDI_TRANSPOSE_2");
m.insert(0x7160, "QK_MIDI_TRANSPOSE_3");
m.insert(0x7161, "QK_MIDI_TRANSPOSE_4");
m.insert(0x7162, "QK_MIDI_TRANSPOSE_5");
m.insert(0x7163, "QK_MIDI_TRANSPOSE_6");
m.insert(0x7164, "QK_MIDI_TRANSPOSE_DOWN");
m.insert(0x7165, "QK_MIDI_TRANSPOSE_UP");
m.insert(0x7166, "QK_MIDI_VELOCITY_0");
m.insert(0x7167, "QK_MIDI_VELOCITY_1");
m.insert(0x7168, "QK_MIDI_VELOCITY_2");
m.insert(0x7169, "QK_MIDI_VELOCITY_3");
m.insert(0x716A, "QK_MIDI_VELOCITY_4");
m.insert(0x716B, "QK_MIDI_VELOCITY_5");
m.insert(0x716C, "QK_MIDI_VELOCITY_6");
m.insert(0x716D, "QK_MIDI_VELOCITY_7");
m.insert(0x716E, "QK_MIDI_VELOCITY_8");
m.insert(0x716F, "QK_MIDI_VELOCITY_9");
m.insert(0x7170, "QK_MIDI_VELOCITY_10");
m.insert(0x7171, "QK_MIDI_VELOCITY_DOWN");
m.insert(0x7172, "QK_MIDI_VELOCITY_UP");
m.insert(0x7173, "QK_MIDI_CHANNEL_1");
m.insert(0x7174, "QK_MIDI_CHANNEL_2");
m.insert(0x7175, "QK_MIDI_CHANNEL_3");
m.insert(0x7176, "QK_MIDI_CHANNEL_4");
m.insert(0x7177, "QK_MIDI_CHANNEL_5");
m.insert(0x7178, "QK_MIDI_CHANNEL_6");
m.insert(0x7179, "QK_MIDI_CHANNEL_7");
m.insert(0x717A, "QK_MIDI_CHANNEL_8");
m.insert(0x717B, "QK_MIDI_CHANNEL_9");
m.insert(0x717C, "QK_MIDI_CHANNEL_10");
m.insert(0x717D, "QK_MIDI_CHANNEL_11");
m.insert(0x717E, "QK_MIDI_CHANNEL_12");
m.insert(0x717F, "QK_MIDI_CHANNEL_13");
m.insert(0x7180, "QK_MIDI_CHANNEL_14");
m.insert(0x7181, "QK_MIDI_CHANNEL_15");
m.insert(0x7182, "QK_MIDI_CHANNEL_16");
m.insert(0x7183, "QK_MIDI_CHANNEL_DOWN");
m.insert(0x7184, "QK_MIDI_CHANNEL_UP");
m.insert(0x7185, "QK_MIDI_ALL_NOTES_OFF");
m.insert(0x7186, "QK_MIDI_SUSTAIN");
m.insert(0x7187, "QK_MIDI_PORTAMENTO");
m.insert(0x7188, "QK_MIDI_SOSTENUTO");
m.insert(0x7189, "QK_MIDI_SOFT");
m.insert(0x718A, "QK_MIDI_LEGATO");
m.insert(0x718B, "QK_MIDI_MODULATION");
m.insert(0x718C, "QK_MIDI_MODULATION_SPEED_DOWN");
m.insert(0x718D, "QK_MIDI_MODULATION_SPEED_UP");
m.insert(0x718E, "QK_MIDI_PITCH_BEND_DOWN");
m.insert(0x718F, "QK_MIDI_PITCH_BEND_UP");
m.insert(0x7200, "QK_SEQUENCER_ON");
m.insert(0x7201, "QK_SEQUENCER_OFF");
m.insert(0x7202, "QK_SEQUENCER_TOGGLE");
m.insert(0x7203, "QK_SEQUENCER_TEMPO_DOWN");
m.insert(0x7204, "QK_SEQUENCER_TEMPO_UP");
m.insert(0x7205, "QK_SEQUENCER_RESOLUTION_DOWN");
m.insert(0x7206, "QK_SEQUENCER_RESOLUTION_UP");
m.insert(0x7207, "QK_SEQUENCER_STEPS_ALL");
m.insert(0x7208, "QK_SEQUENCER_STEPS_CLEAR");
m.insert(0x7400, "QK_JOYSTICK_BUTTON_0");
m.insert(0x7401, "QK_JOYSTICK_BUTTON_1");
m.insert(0x7402, "QK_JOYSTICK_BUTTON_2");
m.insert(0x7403, "QK_JOYSTICK_BUTTON_3");
m.insert(0x7404, "QK_JOYSTICK_BUTTON_4");
m.insert(0x7405, "QK_JOYSTICK_BUTTON_5");
m.insert(0x7406, "QK_JOYSTICK_BUTTON_6");
m.insert(0x7407, "QK_JOYSTICK_BUTTON_7");
m.insert(0x7408, "QK_JOYSTICK_BUTTON_8");
m.insert(0x7409, "QK_JOYSTICK_BUTTON_9");
m.insert(0x740A, "QK_JOYSTICK_BUTTON_10");
m.insert(0x740B, "QK_JOYSTICK_BUTTON_11");
m.insert(0x740C, "QK_JOYSTICK_BUTTON_12");
m.insert(0x740D, "QK_JOYSTICK_BUTTON_13");
m.insert(0x740E, "QK_JOYSTICK_BUTTON_14");
m.insert(0x740F, "QK_JOYSTICK_BUTTON_15");
m.insert(0x7410, "QK_JOYSTICK_BUTTON_16");
m.insert(0x7411, "QK_JOYSTICK_BUTTON_17");
m.insert(0x7412, "QK_JOYSTICK_BUTTON_18");
m.insert(0x7413, "QK_JOYSTICK_BUTTON_19");
m.insert(0x7414, "QK_JOYSTICK_BUTTON_20");
m.insert(0x7415, "QK_JOYSTICK_BUTTON_21");
m.insert(0x7416, "QK_JOYSTICK_BUTTON_22");
m.insert(0x7417, "QK_JOYSTICK_BUTTON_23");
m.insert(0x7418, "QK_JOYSTICK_BUTTON_24");
m.insert(0x7419, "QK_JOYSTICK_BUTTON_25");
m.insert(0x741A, "QK_JOYSTICK_BUTTON_26");
m.insert(0x741B, "QK_JOYSTICK_BUTTON_27");
m.insert(0x741C, "QK_JOYSTICK_BUTTON_28");
m.insert(0x741D, "QK_JOYSTICK_BUTTON_29");
m.insert(0x741E, "QK_JOYSTICK_BUTTON_30");
m.insert(0x741F, "QK_JOYSTICK_BUTTON_31");
m.insert(0x7440, "QK_PROGRAMMABLE_BUTTON_1");
m.insert(0x7441, "QK_PROGRAMMABLE_BUTTON_2");
m.insert(0x7442, "QK_PROGRAMMABLE_BUTTON_3");
m.insert(0x7443, "QK_PROGRAMMABLE_BUTTON_4");
m.insert(0x7444, "QK_PROGRAMMABLE_BUTTON_5");
m.insert(0x7445, "QK_PROGRAMMABLE_BUTTON_6");
m.insert(0x7446, "QK_PROGRAMMABLE_BUTTON_7");
m.insert(0x7447, "QK_PROGRAMMABLE_BUTTON_8");
m.insert(0x7448, "QK_PROGRAMMABLE_BUTTON_9");
m.insert(0x7449, "QK_PROGRAMMABLE_BUTTON_10");
m.insert(0x744A, "QK_PROGRAMMABLE_BUTTON_11");
m.insert(0x744B, "QK_PROGRAMMABLE_BUTTON_12");
m.insert(0x744C, "QK_PROGRAMMABLE_BUTTON_13");
m.insert(0x744D, "QK_PROGRAMMABLE_BUTTON_14");
m.insert(0x744E, "QK_PROGRAMMABLE_BUTTON_15");
m.insert(0x744F, "QK_PROGRAMMABLE_BUTTON_16");
m.insert(0x7450, "QK_PROGRAMMABLE_BUTTON_17");
m.insert(0x7451, "QK_PROGRAMMABLE_BUTTON_18");
m.insert(0x7452, "QK_PROGRAMMABLE_BUTTON_19");
m.insert(0x7453, "QK_PROGRAMMABLE_BUTTON_20");
m.insert(0x7454, "QK_PROGRAMMABLE_BUTTON_21");
m.insert(0x7455, "QK_PROGRAMMABLE_BUTTON_22");
m.insert(0x7456, "QK_PROGRAMMABLE_BUTTON_23");
m.insert(0x7457, "QK_PROGRAMMABLE_BUTTON_24");
m.insert(0x7458, "QK_PROGRAMMABLE_BUTTON_25");
m.insert(0x7459, "QK_PROGRAMMABLE_BUTTON_26");
m.insert(0x745A, "QK_PROGRAMMABLE_BUTTON_27");
m.insert(0x745B, "QK_PROGRAMMABLE_BUTTON_28");
m.insert(0x745C, "QK_PROGRAMMABLE_BUTTON_29");
m.insert(0x745D, "QK_PROGRAMMABLE_BUTTON_30");
m.insert(0x745E, "QK_PROGRAMMABLE_BUTTON_31");
m.insert(0x745F, "QK_PROGRAMMABLE_BUTTON_32");
m.insert(0x7480, "QK_AUDIO_ON");
m.insert(0x7481, "QK_AUDIO_OFF");
m.insert(0x7482, "QK_AUDIO_TOGGLE");
m.insert(0x748A, "QK_AUDIO_CLICKY_TOGGLE");
m.insert(0x748B, "QK_AUDIO_CLICKY_ON");
m.insert(0x748C, "QK_AUDIO_CLICKY_OFF");
m.insert(0x748D, "QK_AUDIO_CLICKY_UP");
m.insert(0x748E, "QK_AUDIO_CLICKY_DOWN");
m.insert(0x748F, "QK_AUDIO_CLICKY_RESET");
m.insert(0x7490, "QK_MUSIC_ON");
m.insert(0x7491, "QK_MUSIC_OFF");
m.insert(0x7492, "QK_MUSIC_TOGGLE");
m.insert(0x7493, "QK_MUSIC_MODE_NEXT");
m.insert(0x7494, "QK_AUDIO_VOICE_NEXT");
m.insert(0x7495, "QK_AUDIO_VOICE_PREVIOUS");
m.insert(0x74F0, "QK_STENO_BOLT");
m.insert(0x74F1, "QK_STENO_GEMINI");
m.insert(0x74F2, "QK_STENO_COMB");
m.insert(0x74FC, "QK_STENO_COMB_MAX");
m.insert(0x7700, "QK_MACRO_0");
m.insert(0x7701, "QK_MACRO_1");
m.insert(0x7702, "QK_MACRO_2");
m.insert(0x7703, "QK_MACRO_3");
m.insert(0x7704, "QK_MACRO_4");
m.insert(0x7705, "QK_MACRO_5");
m.insert(0x7706, "QK_MACRO_6");
m.insert(0x7707, "QK_MACRO_7");
m.insert(0x7708, "QK_MACRO_8");
m.insert(0x7709, "QK_MACRO_9");
m.insert(0x770A, "QK_MACRO_10");
m.insert(0x770B, "QK_MACRO_11");
m.insert(0x770C, "QK_MACRO_12");
m.insert(0x770D, "QK_MACRO_13");
m.insert(0x770E, "QK_MACRO_14");
m.insert(0x770F, "QK_MACRO_15");
m.insert(0x7710, "QK_MACRO_16");
m.insert(0x7711, "QK_MACRO_17");
m.insert(0x7712, "QK_MACRO_18");
m.insert(0x7713, "QK_MACRO_19");
m.insert(0x7714, "QK_MACRO_20");
m.insert(0x7715, "QK_MACRO_21");
m.insert(0x7716, "QK_MACRO_22");
m.insert(0x7717, "QK_MACRO_23");
m.insert(0x7718, "QK_MACRO_24");
m.insert(0x7719, "QK_MACRO_25");
m.insert(0x771A, "QK_MACRO_26");
m.insert(0x771B, "QK_MACRO_27");
m.insert(0x771C, "QK_MACRO_28");
m.insert(0x771D, "QK_MACRO_29");
m.insert(0x771E, "QK_MACRO_30");
m.insert(0x771F, "QK_MACRO_31");
m.insert(0x7800, "QK_BACKLIGHT_ON");
m.insert(0x7801, "QK_BACKLIGHT_OFF");
m.insert(0x7802, "QK_BACKLIGHT_TOGGLE");
m.insert(0x7803, "QK_BACKLIGHT_DOWN");
m.insert(0x7804, "QK_BACKLIGHT_UP");
m.insert(0x7805, "QK_BACKLIGHT_STEP");
m.insert(0x7806, "QK_BACKLIGHT_TOGGLE_BREATHING");
m.insert(0x7810, "QK_LED_MATRIX_ON");
m.insert(0x7811, "QK_LED_MATRIX_OFF");
m.insert(0x7812, "QK_LED_MATRIX_TOGGLE");
m.insert(0x7813, "QK_LED_MATRIX_MODE_NEXT");
m.insert(0x7814, "QK_LED_MATRIX_MODE_PREVIOUS");
m.insert(0x7815, "QK_LED_MATRIX_BRIGHTNESS_UP");
m.insert(0x7816, "QK_LED_MATRIX_BRIGHTNESS_DOWN");
m.insert(0x7817, "QK_LED_MATRIX_SPEED_UP");
m.insert(0x7818, "QK_LED_MATRIX_SPEED_DOWN");
m.insert(0x7820, "QK_UNDERGLOW_TOGGLE");
m.insert(0x7821, "QK_UNDERGLOW_MODE_NEXT");
m.insert(0x7822, "QK_UNDERGLOW_MODE_PREVIOUS");
m.insert(0x7823, "QK_UNDERGLOW_HUE_UP");
m.insert(0x7824, "QK_UNDERGLOW_HUE_DOWN");
m.insert(0x7825, "QK_UNDERGLOW_SATURATION_UP");
m.insert(0x7826, "QK_UNDERGLOW_SATURATION_DOWN");
m.insert(0x7827, "QK_UNDERGLOW_VALUE_UP");
m.insert(0x7828, "QK_UNDERGLOW_VALUE_DOWN");
m.insert(0x7829, "QK_UNDERGLOW_SPEED_UP");
m.insert(0x782A, "QK_UNDERGLOW_SPEED_DOWN");
m.insert(0x782B, "RGB_MODE_PLAIN");
m.insert(0x782C, "RGB_MODE_BREATHE");
m.insert(0x782D, "RGB_MODE_RAINBOW");
m.insert(0x782E, "RGB_MODE_SWIRL");
m.insert(0x782F, "RGB_MODE_SNAKE");
m.insert(0x7830, "RGB_MODE_KNIGHT");
m.insert(0x7831, "RGB_MODE_XMAS");
m.insert(0x7832, "RGB_MODE_GRADIENT");
m.insert(0x7833, "RGB_MODE_RGBTEST");
m.insert(0x7834, "RGB_MODE_TWINKLE");
m.insert(0x7840, "QK_RGB_MATRIX_ON");
m.insert(0x7841, "QK_RGB_MATRIX_OFF");
m.insert(0x7842, "QK_RGB_MATRIX_TOGGLE");
m.insert(0x7843, "QK_RGB_MATRIX_MODE_NEXT");
m.insert(0x7844, "QK_RGB_MATRIX_MODE_PREVIOUS");
m.insert(0x7845, "QK_RGB_MATRIX_HUE_UP");
m.insert(0x7846, "QK_RGB_MATRIX_HUE_DOWN");
m.insert(0x7847, "QK_RGB_MATRIX_SATURATION_UP");
m.insert(0x7848, "QK_RGB_MATRIX_SATURATION_DOWN");
m.insert(0x7849, "QK_RGB_MATRIX_VALUE_UP");
m.insert(0x784A, "QK_RGB_MATRIX_VALUE_DOWN");
m.insert(0x784B, "QK_RGB_MATRIX_SPEED_UP");
m.insert(0x784C, "QK_RGB_MATRIX_SPEED_DOWN");
m.insert(0x7C00, "QK_BOOTLOADER");
m.insert(0x7C01, "QK_REBOOT");
m.insert(0x7C02, "QK_DEBUG_TOGGLE");
m.insert(0x7C03, "QK_CLEAR_EEPROM");
m.insert(0x7C04, "QK_MAKE");
m.insert(0x7C10, "QK_AUTO_SHIFT_DOWN");
m.insert(0x7C11, "QK_AUTO_SHIFT_UP");
m.insert(0x7C12, "QK_AUTO_SHIFT_REPORT");
m.insert(0x7C13, "QK_AUTO_SHIFT_ON");
m.insert(0x7C14, "QK_AUTO_SHIFT_OFF");
m.insert(0x7C15, "QK_AUTO_SHIFT_TOGGLE");
m.insert(0x7C16, "QK_GRAVE_ESCAPE");
m.insert(0x7C17, "QK_VELOCIKEY_TOGGLE");
m.insert(0x7C18, "QK_SPACE_CADET_LEFT_CTRL_PARENTHESIS_OPEN");
m.insert(0x7C19, "QK_SPACE_CADET_RIGHT_CTRL_PARENTHESIS_CLOSE");
m.insert(0x7C1A, "QK_SPACE_CADET_LEFT_SHIFT_PARENTHESIS_OPEN");
m.insert(0x7C1B, "QK_SPACE_CADET_RIGHT_SHIFT_PARENTHESIS_CLOSE");
m.insert(0x7C1C, "QK_SPACE_CADET_LEFT_ALT_PARENTHESIS_OPEN");
m.insert(0x7C1D, "QK_SPACE_CADET_RIGHT_ALT_PARENTHESIS_CLOSE");
m.insert(0x7C1E, "QK_SPACE_CADET_RIGHT_SHIFT_ENTER");
m.insert(0x7C20, "QK_OUTPUT_AUTO");
m.insert(0x7C21, "QK_OUTPUT_USB");
m.insert(0x7C22, "QK_OUTPUT_BLUETOOTH");
m.insert(0x7C30, "QK_UNICODE_MODE_NEXT");
m.insert(0x7C31, "QK_UNICODE_MODE_PREVIOUS");
m.insert(0x7C32, "QK_UNICODE_MODE_MACOS");
m.insert(0x7C33, "QK_UNICODE_MODE_LINUX");
m.insert(0x7C34, "QK_UNICODE_MODE_WINDOWS");
m.insert(0x7C35, "QK_UNICODE_MODE_BSD");
m.insert(0x7C36, "QK_UNICODE_MODE_WINCOMPOSE");
m.insert(0x7C37, "QK_UNICODE_MODE_EMACS");
m.insert(0x7C40, "QK_HAPTIC_ON");
m.insert(0x7C41, "QK_HAPTIC_OFF");
m.insert(0x7C42, "QK_HAPTIC_TOGGLE");
m.insert(0x7C43, "QK_HAPTIC_RESET");
m.insert(0x7C44, "QK_HAPTIC_FEEDBACK_TOGGLE");
m.insert(0x7C45, "QK_HAPTIC_BUZZ_TOGGLE");
m.insert(0x7C46, "QK_HAPTIC_MODE_NEXT");
m.insert(0x7C47, "QK_HAPTIC_MODE_PREVIOUS");
m.insert(0x7C48, "QK_HAPTIC_CONTINUOUS_TOGGLE");
m.insert(0x7C49, "QK_HAPTIC_CONTINUOUS_UP");
m.insert(0x7C4A, "QK_HAPTIC_CONTINUOUS_DOWN");
m.insert(0x7C4B, "QK_HAPTIC_DWELL_UP");
m.insert(0x7C4C, "QK_HAPTIC_DWELL_DOWN");
m.insert(0x7C50, "QK_COMBO_ON");
m.insert(0x7C51, "QK_COMBO_OFF");
m.insert(0x7C52, "QK_COMBO_TOGGLE");
m.insert(0x7C53, "QK_DYNAMIC_MACRO_RECORD_START_1");
m.insert(0x7C54, "QK_DYNAMIC_MACRO_RECORD_START_2");
m.insert(0x7C55, "QK_DYNAMIC_MACRO_RECORD_STOP");
m.insert(0x7C56, "QK_DYNAMIC_MACRO_PLAY_1");
m.insert(0x7C57, "QK_DYNAMIC_MACRO_PLAY_2");
m.insert(0x7C58, "QK_LEADER");
m.insert(0x7C59, "QK_LOCK");
m.insert(0x7C5A, "QK_ONE_SHOT_ON");
m.insert(0x7C5B, "QK_ONE_SHOT_OFF");
m.insert(0x7C5C, "QK_ONE_SHOT_TOGGLE");
m.insert(0x7C5D, "QK_KEY_OVERRIDE_TOGGLE");
m.insert(0x7C5E, "QK_KEY_OVERRIDE_ON");
m.insert(0x7C5F, "QK_KEY_OVERRIDE_OFF");
m.insert(0x7C60, "QK_SECURE_LOCK");
m.insert(0x7C61, "QK_SECURE_UNLOCK");
m.insert(0x7C62, "QK_SECURE_TOGGLE");
m.insert(0x7C63, "QK_SECURE_REQUEST");
m.insert(0x7C70, "QK_DYNAMIC_TAPPING_TERM_PRINT");
m.insert(0x7C71, "QK_DYNAMIC_TAPPING_TERM_UP");
m.insert(0x7C72, "QK_DYNAMIC_TAPPING_TERM_DOWN");
m.insert(0x7C73, "QK_CAPS_WORD_TOGGLE");
m.insert(0x7C74, "QK_AUTOCORRECT_ON");
m.insert(0x7C75, "QK_AUTOCORRECT_OFF");
m.insert(0x7C76, "QK_AUTOCORRECT_TOGGLE");
m.insert(0x7C77, "QK_TRI_LAYER_LOWER");
m.insert(0x7C78, "QK_TRI_LAYER_UPPER");
m.insert(0x7C79, "QK_REPEAT_KEY");
m.insert(0x7C7A, "QK_ALT_REPEAT_KEY");
m.insert(0x7C7B, "QK_LAYER_LOCK");
m.insert(0x7E00, "QK_KB_0");
m.insert(0x7E01, "QK_KB_1");
m.insert(0x7E02, "QK_KB_2");
m.insert(0x7E03, "QK_KB_3");
m.insert(0x7E04, "QK_KB_4");
m.insert(0x7E05, "QK_KB_5");
m.insert(0x7E06, "QK_KB_6");
m.insert(0x7E07, "QK_KB_7");
m.insert(0x7E08, "QK_KB_8");
m.insert(0x7E09, "QK_KB_9");
m.insert(0x7E0A, "QK_KB_10");
m.insert(0x7E0B, "QK_KB_11");
m.insert(0x7E0C, "QK_KB_12");
m.insert(0x7E0D, "QK_KB_13");
m.insert(0x7E0E, "QK_KB_14");
m.insert(0x7E0F, "QK_KB_15");
m.insert(0x7E10, "QK_KB_16");
m.insert(0x7E11, "QK_KB_17");
m.insert(0x7E12, "QK_KB_18");
m.insert(0x7E13, "QK_KB_19");
m.insert(0x7E14, "QK_KB_20");
m.insert(0x7E15, "QK_KB_21");
m.insert(0x7E16, "QK_KB_22");
m.insert(0x7E17, "QK_KB_23");
m.insert(0x7E18, "QK_KB_24");
m.insert(0x7E19, "QK_KB_25");
m.insert(0x7E1A, "QK_KB_26");
m.insert(0x7E1B, "QK_KB_27");
m.insert(0x7E1C, "QK_KB_28");
m.insert(0x7E1D, "QK_KB_29");
m.insert(0x7E1E, "QK_KB_30");
m.insert(0x7E1F, "QK_KB_31");
m.insert(0x7E40, "QK_USER_0");
m.insert(0x7E41, "QK_USER_1");
m.insert(0x7E42, "QK_USER_2");
m.insert(0x7E43, "QK_USER_3");
m.insert(0x7E44, "QK_USER_4");
m.insert(0x7E45, "QK_USER_5");
m.insert(0x7E46, "QK_USER_6");
m.insert(0x7E47, "QK_USER_7");
m.insert(0x7E48, "QK_USER_8");
m.insert(0x7E49, "QK_USER_9");
m.insert(0x7E4A, "QK_USER_10");
m.insert(0x7E4B, "QK_USER_11");
m.insert(0x7E4C, "QK_USER_12");
m.insert(0x7E4D, "QK_USER_13");
m.insert(0x7E4E, "QK_USER_14");
m.insert(0x7E4F, "QK_USER_15");
m.insert(0x7E50, "QK_USER_16");
m.insert(0x7E51, "QK_USER_17");
m.insert(0x7E52, "QK_USER_18");
m.insert(0x7E53, "QK_USER_19");
m.insert(0x7E54, "QK_USER_20");
m.insert(0x7E55, "QK_USER_21");
m.insert(0x7E56, "QK_USER_22");
m.insert(0x7E57, "QK_USER_23");
m.insert(0x7E58, "QK_USER_24");
m.insert(0x7E59, "QK_USER_25");
m.insert(0x7E5A, "QK_USER_26");
m.insert(0x7E5B, "QK_USER_27");
m.insert(0x7E5C, "QK_USER_28");
m.insert(0x7E5D, "QK_USER_29");
m.insert(0x7E5E, "QK_USER_30");
m.insert(0x7E5F, "QK_USER_31");
m
});