diff --git a/Controllers/QMKController/QMKKeycodes.cpp b/Controllers/QMKController/QMKKeycodes.cpp new file mode 100644 index 000000000..924ea1aa9 --- /dev/null +++ b/Controllers/QMKController/QMKKeycodes.cpp @@ -0,0 +1,153 @@ +/*---------------------------------------------------------*\ +| QMKKeycodes.cpp | +| | +| List of QMK keycode values | +| | +| Adam Honse qmk_keynames = +{ + { QMK_KC_NO, KEY_EN_UNUSED }, + { QMK_KC_TRANSPARENT, KEY_EN_RIGHT_FUNCTION }, + { QMK_KC_A, KEY_EN_A }, + { QMK_KC_B, KEY_EN_B }, + { QMK_KC_C, KEY_EN_C }, + { QMK_KC_D, KEY_EN_D }, + { QMK_KC_E, KEY_EN_E }, + { QMK_KC_F, KEY_EN_F }, + { QMK_KC_G, KEY_EN_G }, + { QMK_KC_H, KEY_EN_H }, + { QMK_KC_I, KEY_EN_I }, + { QMK_KC_J, KEY_EN_J }, + { QMK_KC_K, KEY_EN_K }, + { QMK_KC_L, KEY_EN_L }, + { QMK_KC_M, KEY_EN_M }, + { QMK_KC_N, KEY_EN_N }, + { QMK_KC_O, KEY_EN_O }, + { QMK_KC_P, KEY_EN_P }, + { QMK_KC_Q, KEY_EN_Q }, + { QMK_KC_R, KEY_EN_R }, + { QMK_KC_S, KEY_EN_S }, + { QMK_KC_T, KEY_EN_T }, + { QMK_KC_U, KEY_EN_U }, + { QMK_KC_V, KEY_EN_V }, + { QMK_KC_W, KEY_EN_W }, + { QMK_KC_X, KEY_EN_X }, + { QMK_KC_Y, KEY_EN_Y }, + { QMK_KC_Z, KEY_EN_Z }, + { QMK_KC_1, KEY_EN_1 }, + { QMK_KC_2, KEY_EN_2 }, + { QMK_KC_3, KEY_EN_3 }, + { QMK_KC_4, KEY_EN_4 }, + { QMK_KC_5, KEY_EN_5 }, + { QMK_KC_6, KEY_EN_6 }, + { QMK_KC_7, KEY_EN_7 }, + { QMK_KC_8, KEY_EN_8 }, + { QMK_KC_9, KEY_EN_9 }, + { QMK_KC_0, KEY_EN_0 }, + { QMK_KC_ENTER, KEY_EN_ANSI_ENTER }, + { QMK_KC_ESCAPE, KEY_EN_ESCAPE }, + { QMK_KC_BACKSPACE, KEY_EN_BACKSPACE }, + { QMK_KC_TAB, KEY_EN_TAB }, + { QMK_KC_SPACE, KEY_EN_SPACE }, + { QMK_KC_MINUS, KEY_EN_MINUS }, + { QMK_KC_EQUAL, KEY_EN_EQUALS }, + { QMK_KC_LEFT_BRACKET, KEY_EN_LEFT_BRACKET }, + { QMK_KC_RIGHT_BRACKET, KEY_EN_RIGHT_BRACKET }, + { QMK_KC_BACKSLASH, KEY_EN_ANSI_BACK_SLASH }, + { QMK_KC_NONUS_HASH, KEY_EN_POUND }, + { QMK_KC_SEMICOLON, KEY_EN_SEMICOLON }, + { QMK_KC_QUOTE, KEY_EN_QUOTE }, + { QMK_KC_GRAVE, KEY_EN_BACK_TICK }, + { QMK_KC_COMMA, KEY_EN_COMMA }, + { QMK_KC_DOT, KEY_EN_PERIOD }, + { QMK_KC_SLASH, KEY_EN_FORWARD_SLASH }, + { QMK_KC_CAPS_LOCK, KEY_EN_CAPS_LOCK }, + { QMK_KC_F1, KEY_EN_F1 }, + { QMK_KC_F2, KEY_EN_F2 }, + { QMK_KC_F3, KEY_EN_F3 }, + { QMK_KC_F4, KEY_EN_F4 }, + { QMK_KC_F5, KEY_EN_F5 }, + { QMK_KC_F6, KEY_EN_F6 }, + { QMK_KC_F7, KEY_EN_F7 }, + { QMK_KC_F8, KEY_EN_F8 }, + { QMK_KC_F9, KEY_EN_F9 }, + { QMK_KC_F10, KEY_EN_F10 }, + { QMK_KC_F11, KEY_EN_F11 }, + { QMK_KC_F12, KEY_EN_F12 }, + { QMK_KC_PRINT_SCREEN, KEY_EN_PRINT_SCREEN }, + { QMK_KC_SCROLL_LOCK, KEY_EN_SCROLL_LOCK }, + { QMK_KC_PAUSE, KEY_EN_PAUSE_BREAK }, + { QMK_KC_INSERT, KEY_EN_INSERT }, + { QMK_KC_HOME, KEY_EN_HOME }, + { QMK_KC_PAGE_UP, KEY_EN_PAGE_UP }, + { QMK_KC_DELETE, KEY_EN_DELETE }, + { QMK_KC_END, KEY_EN_END }, + { QMK_KC_PAGE_DOWN, KEY_EN_PAGE_DOWN }, + { QMK_KC_RIGHT, KEY_EN_RIGHT_ARROW }, + { QMK_KC_LEFT, KEY_EN_LEFT_ARROW }, + { QMK_KC_DOWN, KEY_EN_DOWN_ARROW }, + { QMK_KC_UP, KEY_EN_UP_ARROW }, + { QMK_KC_NUM_LOCK, KEY_EN_NUMPAD_LOCK }, + { QMK_KC_KP_SLASH, KEY_EN_NUMPAD_DIVIDE }, + { QMK_KC_KP_ASTERISK, KEY_EN_NUMPAD_TIMES }, + { QMK_KC_KP_MINUS, KEY_EN_NUMPAD_MINUS }, + { QMK_KC_KP_PLUS, KEY_EN_NUMPAD_PLUS }, + { QMK_KC_KP_ENTER, KEY_EN_NUMPAD_ENTER }, + { QMK_KC_KP_1, KEY_EN_NUMPAD_1 }, + { QMK_KC_KP_2, KEY_EN_NUMPAD_2 }, + { QMK_KC_KP_3, KEY_EN_NUMPAD_3 }, + { QMK_KC_KP_4, KEY_EN_NUMPAD_4 }, + { QMK_KC_KP_5, KEY_EN_NUMPAD_5 }, + { QMK_KC_KP_6, KEY_EN_NUMPAD_6 }, + { QMK_KC_KP_7, KEY_EN_NUMPAD_7 }, + { QMK_KC_KP_8, KEY_EN_NUMPAD_8 }, + { QMK_KC_KP_9, KEY_EN_NUMPAD_9 }, + { QMK_KC_KP_0, KEY_EN_NUMPAD_0 }, + { QMK_KC_KP_DOT, KEY_EN_NUMPAD_PERIOD }, + { QMK_KC_NONUS_BACKSLASH, KEY_EN_ISO_BACK_SLASH }, + { QMK_KC_APPLICATION, KEY_EN_MENU }, + { QMK_KC_F13, "Key: F13" }, + { QMK_KC_F14, "Key: F14" }, + { QMK_KC_F15, "Key: F15" }, + { QMK_KC_F16, "Key: F16" }, + { QMK_KC_F17, "Key: F17" }, + { QMK_KC_F18, "Key: F18" }, + { QMK_KC_F19, "Key: F19" }, + { QMK_KC_F20, "Key: F20" }, + { QMK_KC_F21, "Key: F21" }, + { QMK_KC_F22, "Key: F22" }, + { QMK_KC_F23, "Key: F23" }, + { QMK_KC_F24, "Key: F24" }, + { QMK_KC_AUDIO_MUTE, KEY_EN_MEDIA_MUTE }, + { QMK_KC_AUDIO_VOL_UP, KEY_EN_MEDIA_VOLUME_UP }, + { QMK_KC_AUDIO_VOL_DOWN, KEY_EN_MEDIA_VOLUME_DOWN }, + { QMK_KC_MEDIA_NEXT_TRACK, KEY_EN_MEDIA_NEXT }, + { QMK_KC_MEDIA_PREV_TRACK, KEY_EN_MEDIA_PREVIOUS }, + { QMK_KC_MEDIA_STOP, KEY_EN_MEDIA_STOP }, + { QMK_KC_MEDIA_PLAY_PAUSE, KEY_EN_MEDIA_PLAY_PAUSE }, + { QMK_KC_MEDIA_SELECT, "Key: Media Select" }, + { QMK_KC_MEDIA_EJECT, "Key: Media Eject" }, + { QMK_KC_BRIGHTNESS_UP, "Key: Brightness Up" }, + { QMK_KC_BRIGHTNESS_DOWN, "Key: Brightness Down" }, + { 196, "Key: Task Manager" }, /* From OpenRGB QMK */ + { 202, "Key: RGB Brightness Up" }, /* From OpenRGB QMK */ + { 203, "Key: RGB Brightness Down" }, /* From OpenRGB QMK */ + { 216, KEY_EN_LEFT_SHIFT }, /* Space Cadet Left Shift */ + { 217, KEY_EN_RIGHT_SHIFT }, /* Space Cadet Right Shift */ + { QMK_KC_LEFT_CTRL, KEY_EN_LEFT_CONTROL }, + { QMK_KC_LEFT_SHIFT, KEY_EN_LEFT_SHIFT }, + { QMK_KC_LEFT_ALT, KEY_EN_LEFT_ALT }, + { QMK_KC_LEFT_GUI, KEY_EN_LEFT_WINDOWS }, + { QMK_KC_RIGHT_CTRL, KEY_EN_RIGHT_CONTROL }, + { QMK_KC_RIGHT_SHIFT, KEY_EN_RIGHT_SHIFT }, + { QMK_KC_RIGHT_ALT, KEY_EN_RIGHT_ALT }, + { QMK_KC_RIGHT_GUI, KEY_EN_RIGHT_WINDOWS }, +}; diff --git a/Controllers/QMKController/QMKKeycodes.h b/Controllers/QMKController/QMKKeycodes.h new file mode 100644 index 000000000..c4ea09321 --- /dev/null +++ b/Controllers/QMKController/QMKKeycodes.h @@ -0,0 +1,754 @@ +/*---------------------------------------------------------*\ +| QMKKeycodes.h | +| | +| List of QMK keycode values | +| | +| Adam Honse +#include + +typedef unsigned short qmk_keycode; +enum +{ + QMK_KC_NO = 0x0000, + QMK_KC_TRANSPARENT = 0x0001, + QMK_KC_A = 0x0004, + QMK_KC_B = 0x0005, + QMK_KC_C = 0x0006, + QMK_KC_D = 0x0007, + QMK_KC_E = 0x0008, + QMK_KC_F = 0x0009, + QMK_KC_G = 0x000A, + QMK_KC_H = 0x000B, + QMK_KC_I = 0x000C, + QMK_KC_J = 0x000D, + QMK_KC_K = 0x000E, + QMK_KC_L = 0x000F, + QMK_KC_M = 0x0010, + QMK_KC_N = 0x0011, + QMK_KC_O = 0x0012, + QMK_KC_P = 0x0013, + QMK_KC_Q = 0x0014, + QMK_KC_R = 0x0015, + QMK_KC_S = 0x0016, + QMK_KC_T = 0x0017, + QMK_KC_U = 0x0018, + QMK_KC_V = 0x0019, + QMK_KC_W = 0x001A, + QMK_KC_X = 0x001B, + QMK_KC_Y = 0x001C, + QMK_KC_Z = 0x001D, + QMK_KC_1 = 0x001E, + QMK_KC_2 = 0x001F, + QMK_KC_3 = 0x0020, + QMK_KC_4 = 0x0021, + QMK_KC_5 = 0x0022, + QMK_KC_6 = 0x0023, + QMK_KC_7 = 0x0024, + QMK_KC_8 = 0x0025, + QMK_KC_9 = 0x0026, + QMK_KC_0 = 0x0027, + QMK_KC_ENTER = 0x0028, + QMK_KC_ESCAPE = 0x0029, + QMK_KC_BACKSPACE = 0x002A, + QMK_KC_TAB = 0x002B, + QMK_KC_SPACE = 0x002C, + QMK_KC_MINUS = 0x002D, + QMK_KC_EQUAL = 0x002E, + QMK_KC_LEFT_BRACKET = 0x002F, + QMK_KC_RIGHT_BRACKET = 0x0030, + QMK_KC_BACKSLASH = 0x0031, + QMK_KC_NONUS_HASH = 0x0032, + QMK_KC_SEMICOLON = 0x0033, + QMK_KC_QUOTE = 0x0034, + QMK_KC_GRAVE = 0x0035, + QMK_KC_COMMA = 0x0036, + QMK_KC_DOT = 0x0037, + QMK_KC_SLASH = 0x0038, + QMK_KC_CAPS_LOCK = 0x0039, + QMK_KC_F1 = 0x003A, + QMK_KC_F2 = 0x003B, + QMK_KC_F3 = 0x003C, + QMK_KC_F4 = 0x003D, + QMK_KC_F5 = 0x003E, + QMK_KC_F6 = 0x003F, + QMK_KC_F7 = 0x0040, + QMK_KC_F8 = 0x0041, + QMK_KC_F9 = 0x0042, + QMK_KC_F10 = 0x0043, + QMK_KC_F11 = 0x0044, + QMK_KC_F12 = 0x0045, + QMK_KC_PRINT_SCREEN = 0x0046, + QMK_KC_SCROLL_LOCK = 0x0047, + QMK_KC_PAUSE = 0x0048, + QMK_KC_INSERT = 0x0049, + QMK_KC_HOME = 0x004A, + QMK_KC_PAGE_UP = 0x004B, + QMK_KC_DELETE = 0x004C, + QMK_KC_END = 0x004D, + QMK_KC_PAGE_DOWN = 0x004E, + QMK_KC_RIGHT = 0x004F, + QMK_KC_LEFT = 0x0050, + QMK_KC_DOWN = 0x0051, + QMK_KC_UP = 0x0052, + QMK_KC_NUM_LOCK = 0x0053, + QMK_KC_KP_SLASH = 0x0054, + QMK_KC_KP_ASTERISK = 0x0055, + QMK_KC_KP_MINUS = 0x0056, + QMK_KC_KP_PLUS = 0x0057, + QMK_KC_KP_ENTER = 0x0058, + QMK_KC_KP_1 = 0x0059, + QMK_KC_KP_2 = 0x005A, + QMK_KC_KP_3 = 0x005B, + QMK_KC_KP_4 = 0x005C, + QMK_KC_KP_5 = 0x005D, + QMK_KC_KP_6 = 0x005E, + QMK_KC_KP_7 = 0x005F, + QMK_KC_KP_8 = 0x0060, + QMK_KC_KP_9 = 0x0061, + QMK_KC_KP_0 = 0x0062, + QMK_KC_KP_DOT = 0x0063, + QMK_KC_NONUS_BACKSLASH = 0x0064, + QMK_KC_APPLICATION = 0x0065, + QMK_KC_KB_POWER = 0x0066, + QMK_KC_KP_EQUAL = 0x0067, + QMK_KC_F13 = 0x0068, + QMK_KC_F14 = 0x0069, + QMK_KC_F15 = 0x006A, + QMK_KC_F16 = 0x006B, + QMK_KC_F17 = 0x006C, + QMK_KC_F18 = 0x006D, + QMK_KC_F19 = 0x006E, + QMK_KC_F20 = 0x006F, + QMK_KC_F21 = 0x0070, + QMK_KC_F22 = 0x0071, + QMK_KC_F23 = 0x0072, + QMK_KC_F24 = 0x0073, + QMK_KC_EXECUTE = 0x0074, + QMK_KC_HELP = 0x0075, + QMK_KC_MENU = 0x0076, + QMK_KC_SELECT = 0x0077, + QMK_KC_STOP = 0x0078, + QMK_KC_AGAIN = 0x0079, + QMK_KC_UNDO = 0x007A, + QMK_KC_CUT = 0x007B, + QMK_KC_COPY = 0x007C, + QMK_KC_PASTE = 0x007D, + QMK_KC_FIND = 0x007E, + QMK_KC_KB_MUTE = 0x007F, + QMK_KC_KB_VOLUME_UP = 0x0080, + QMK_KC_KB_VOLUME_DOWN = 0x0081, + QMK_KC_LOCKING_CAPS_LOCK = 0x0082, + QMK_KC_LOCKING_NUM_LOCK = 0x0083, + QMK_KC_LOCKING_SCROLL_LOCK = 0x0084, + QMK_KC_KP_COMMA = 0x0085, + QMK_KC_KP_EQUAL_AS400 = 0x0086, + QMK_KC_INTERNATIONAL_1 = 0x0087, + QMK_KC_INTERNATIONAL_2 = 0x0088, + QMK_KC_INTERNATIONAL_3 = 0x0089, + QMK_KC_INTERNATIONAL_4 = 0x008A, + QMK_KC_INTERNATIONAL_5 = 0x008B, + QMK_KC_INTERNATIONAL_6 = 0x008C, + QMK_KC_INTERNATIONAL_7 = 0x008D, + QMK_KC_INTERNATIONAL_8 = 0x008E, + QMK_KC_INTERNATIONAL_9 = 0x008F, + QMK_KC_LANGUAGE_1 = 0x0090, + QMK_KC_LANGUAGE_2 = 0x0091, + QMK_KC_LANGUAGE_3 = 0x0092, + QMK_KC_LANGUAGE_4 = 0x0093, + QMK_KC_LANGUAGE_5 = 0x0094, + QMK_KC_LANGUAGE_6 = 0x0095, + QMK_KC_LANGUAGE_7 = 0x0096, + QMK_KC_LANGUAGE_8 = 0x0097, + QMK_KC_LANGUAGE_9 = 0x0098, + QMK_KC_ALTERNATE_ERASE = 0x0099, + QMK_KC_SYSTEM_REQUEST = 0x009A, + QMK_KC_CANCEL = 0x009B, + QMK_KC_CLEAR = 0x009C, + QMK_KC_PRIOR = 0x009D, + QMK_KC_RETURN = 0x009E, + QMK_KC_SEPARATOR = 0x009F, + QMK_KC_OUT = 0x00A0, + QMK_KC_OPER = 0x00A1, + QMK_KC_CLEAR_AGAIN = 0x00A2, + QMK_KC_CRSEL = 0x00A3, + QMK_KC_EXSEL = 0x00A4, + QMK_KC_SYSTEM_POWER = 0x00A5, + QMK_KC_SYSTEM_SLEEP = 0x00A6, + QMK_KC_SYSTEM_WAKE = 0x00A7, + QMK_KC_AUDIO_MUTE = 0x00A8, + QMK_KC_AUDIO_VOL_UP = 0x00A9, + QMK_KC_AUDIO_VOL_DOWN = 0x00AA, + QMK_KC_MEDIA_NEXT_TRACK = 0x00AB, + QMK_KC_MEDIA_PREV_TRACK = 0x00AC, + QMK_KC_MEDIA_STOP = 0x00AD, + QMK_KC_MEDIA_PLAY_PAUSE = 0x00AE, + QMK_KC_MEDIA_SELECT = 0x00AF, + QMK_KC_MEDIA_EJECT = 0x00B0, + QMK_KC_MAIL = 0x00B1, + QMK_KC_CALCULATOR = 0x00B2, + QMK_KC_MY_COMPUTER = 0x00B3, + QMK_KC_WWW_SEARCH = 0x00B4, + QMK_KC_WWW_HOME = 0x00B5, + QMK_KC_WWW_BACK = 0x00B6, + QMK_KC_WWW_FORWARD = 0x00B7, + QMK_KC_WWW_STOP = 0x00B8, + QMK_KC_WWW_REFRESH = 0x00B9, + QMK_KC_WWW_FAVORITES = 0x00BA, + QMK_KC_MEDIA_FAST_FORWARD = 0x00BB, + QMK_KC_MEDIA_REWIND = 0x00BC, + QMK_KC_BRIGHTNESS_UP = 0x00BD, + QMK_KC_BRIGHTNESS_DOWN = 0x00BE, + QMK_KC_CONTROL_PANEL = 0x00BF, + QMK_KC_ASSISTANT = 0x00C0, + QMK_KC_MISSION_CONTROL = 0x00C1, + QMK_KC_LAUNCHPAD = 0x00C2, + QMK_QK_MOUSE_CURSOR_UP = 0x00CD, + QMK_QK_MOUSE_CURSOR_DOWN = 0x00CE, + QMK_QK_MOUSE_CURSOR_LEFT = 0x00CF, + QMK_QK_MOUSE_CURSOR_RIGHT = 0x00D0, + QMK_QK_MOUSE_BUTTON_1 = 0x00D1, + QMK_QK_MOUSE_BUTTON_2 = 0x00D2, + QMK_QK_MOUSE_BUTTON_3 = 0x00D3, + QMK_QK_MOUSE_BUTTON_4 = 0x00D4, + QMK_QK_MOUSE_BUTTON_5 = 0x00D5, + QMK_QK_MOUSE_BUTTON_6 = 0x00D6, + QMK_QK_MOUSE_BUTTON_7 = 0x00D7, + QMK_QK_MOUSE_BUTTON_8 = 0x00D8, + QMK_QK_MOUSE_WHEEL_UP = 0x00D9, + QMK_QK_MOUSE_WHEEL_DOWN = 0x00DA, + QMK_QK_MOUSE_WHEEL_LEFT = 0x00DB, + QMK_QK_MOUSE_WHEEL_RIGHT = 0x00DC, + QMK_QK_MOUSE_ACCELERATION_0 = 0x00DD, + QMK_QK_MOUSE_ACCELERATION_1 = 0x00DE, + QMK_QK_MOUSE_ACCELERATION_2 = 0x00DF, + QMK_KC_LEFT_CTRL = 0x00E0, + QMK_KC_LEFT_SHIFT = 0x00E1, + QMK_KC_LEFT_ALT = 0x00E2, + QMK_KC_LEFT_GUI = 0x00E3, + QMK_KC_RIGHT_CTRL = 0x00E4, + QMK_KC_RIGHT_SHIFT = 0x00E5, + QMK_KC_RIGHT_ALT = 0x00E6, + QMK_KC_RIGHT_GUI = 0x00E7, + QMK_QK_SWAP_HANDS_TOGGLE = 0x56F0, + QMK_QK_SWAP_HANDS_TAP_TOGGLE = 0x56F1, + QMK_QK_SWAP_HANDS_MOMENTARY_ON = 0x56F2, + QMK_QK_SWAP_HANDS_MOMENTARY_OFF = 0x56F3, + QMK_QK_SWAP_HANDS_OFF = 0x56F4, + QMK_QK_SWAP_HANDS_ON = 0x56F5, + QMK_QK_SWAP_HANDS_ONE_SHOT = 0x56F6, + QMK_QK_MAGIC_SWAP_CONTROL_CAPS_LOCK = 0x7000, + QMK_QK_MAGIC_UNSWAP_CONTROL_CAPS_LOCK = 0x7001, + QMK_QK_MAGIC_TOGGLE_CONTROL_CAPS_LOCK = 0x7002, + QMK_QK_MAGIC_CAPS_LOCK_AS_CONTROL_OFF = 0x7003, + QMK_QK_MAGIC_CAPS_LOCK_AS_CONTROL_ON = 0x7004, + QMK_QK_MAGIC_SWAP_LALT_LGUI = 0x7005, + QMK_QK_MAGIC_UNSWAP_LALT_LGUI = 0x7006, + QMK_QK_MAGIC_SWAP_RALT_RGUI = 0x7007, + QMK_QK_MAGIC_UNSWAP_RALT_RGUI = 0x7008, + QMK_QK_MAGIC_GUI_ON = 0x7009, + QMK_QK_MAGIC_GUI_OFF = 0x700A, + QMK_QK_MAGIC_TOGGLE_GUI = 0x700B, + QMK_QK_MAGIC_SWAP_GRAVE_ESC = 0x700C, + QMK_QK_MAGIC_UNSWAP_GRAVE_ESC = 0x700D, + QMK_QK_MAGIC_SWAP_BACKSLASH_BACKSPACE = 0x700E, + QMK_QK_MAGIC_UNSWAP_BACKSLASH_BACKSPACE = 0x700F, + QMK_QK_MAGIC_TOGGLE_BACKSLASH_BACKSPACE = 0x7010, + QMK_QK_MAGIC_NKRO_ON = 0x7011, + QMK_QK_MAGIC_NKRO_OFF = 0x7012, + QMK_QK_MAGIC_TOGGLE_NKRO = 0x7013, + QMK_QK_MAGIC_SWAP_ALT_GUI = 0x7014, + QMK_QK_MAGIC_UNSWAP_ALT_GUI = 0x7015, + QMK_QK_MAGIC_TOGGLE_ALT_GUI = 0x7016, + QMK_QK_MAGIC_SWAP_LCTL_LGUI = 0x7017, + QMK_QK_MAGIC_UNSWAP_LCTL_LGUI = 0x7018, + QMK_QK_MAGIC_SWAP_RCTL_RGUI = 0x7019, + QMK_QK_MAGIC_UNSWAP_RCTL_RGUI = 0x701A, + QMK_QK_MAGIC_SWAP_CTL_GUI = 0x701B, + QMK_QK_MAGIC_UNSWAP_CTL_GUI = 0x701C, + QMK_QK_MAGIC_TOGGLE_CTL_GUI = 0x701D, + QMK_QK_MAGIC_EE_HANDS_LEFT = 0x701E, + QMK_QK_MAGIC_EE_HANDS_RIGHT = 0x701F, + QMK_QK_MAGIC_SWAP_ESCAPE_CAPS_LOCK = 0x7020, + QMK_QK_MAGIC_UNSWAP_ESCAPE_CAPS_LOCK = 0x7021, + QMK_QK_MAGIC_TOGGLE_ESCAPE_CAPS_LOCK = 0x7022, + QMK_QK_MIDI_ON = 0x7100, + QMK_QK_MIDI_OFF = 0x7101, + QMK_QK_MIDI_TOGGLE = 0x7102, + QMK_QK_MIDI_NOTE_C_0 = 0x7103, + QMK_QK_MIDI_NOTE_C_SHARP_0 = 0x7104, + QMK_QK_MIDI_NOTE_D_0 = 0x7105, + QMK_QK_MIDI_NOTE_D_SHARP_0 = 0x7106, + QMK_QK_MIDI_NOTE_E_0 = 0x7107, + QMK_QK_MIDI_NOTE_F_0 = 0x7108, + QMK_QK_MIDI_NOTE_F_SHARP_0 = 0x7109, + QMK_QK_MIDI_NOTE_G_0 = 0x710A, + QMK_QK_MIDI_NOTE_G_SHARP_0 = 0x710B, + QMK_QK_MIDI_NOTE_A_0 = 0x710C, + QMK_QK_MIDI_NOTE_A_SHARP_0 = 0x710D, + QMK_QK_MIDI_NOTE_B_0 = 0x710E, + QMK_QK_MIDI_NOTE_C_1 = 0x710F, + QMK_QK_MIDI_NOTE_C_SHARP_1 = 0x7110, + QMK_QK_MIDI_NOTE_D_1 = 0x7111, + QMK_QK_MIDI_NOTE_D_SHARP_1 = 0x7112, + QMK_QK_MIDI_NOTE_E_1 = 0x7113, + QMK_QK_MIDI_NOTE_F_1 = 0x7114, + QMK_QK_MIDI_NOTE_F_SHARP_1 = 0x7115, + QMK_QK_MIDI_NOTE_G_1 = 0x7116, + QMK_QK_MIDI_NOTE_G_SHARP_1 = 0x7117, + QMK_QK_MIDI_NOTE_A_1 = 0x7118, + QMK_QK_MIDI_NOTE_A_SHARP_1 = 0x7119, + QMK_QK_MIDI_NOTE_B_1 = 0x711A, + QMK_QK_MIDI_NOTE_C_2 = 0x711B, + QMK_QK_MIDI_NOTE_C_SHARP_2 = 0x711C, + QMK_QK_MIDI_NOTE_D_2 = 0x711D, + QMK_QK_MIDI_NOTE_D_SHARP_2 = 0x711E, + QMK_QK_MIDI_NOTE_E_2 = 0x711F, + QMK_QK_MIDI_NOTE_F_2 = 0x7120, + QMK_QK_MIDI_NOTE_F_SHARP_2 = 0x7121, + QMK_QK_MIDI_NOTE_G_2 = 0x7122, + QMK_QK_MIDI_NOTE_G_SHARP_2 = 0x7123, + QMK_QK_MIDI_NOTE_A_2 = 0x7124, + QMK_QK_MIDI_NOTE_A_SHARP_2 = 0x7125, + QMK_QK_MIDI_NOTE_B_2 = 0x7126, + QMK_QK_MIDI_NOTE_C_3 = 0x7127, + QMK_QK_MIDI_NOTE_C_SHARP_3 = 0x7128, + QMK_QK_MIDI_NOTE_D_3 = 0x7129, + QMK_QK_MIDI_NOTE_D_SHARP_3 = 0x712A, + QMK_QK_MIDI_NOTE_E_3 = 0x712B, + QMK_QK_MIDI_NOTE_F_3 = 0x712C, + QMK_QK_MIDI_NOTE_F_SHARP_3 = 0x712D, + QMK_QK_MIDI_NOTE_G_3 = 0x712E, + QMK_QK_MIDI_NOTE_G_SHARP_3 = 0x712F, + QMK_QK_MIDI_NOTE_A_3 = 0x7130, + QMK_QK_MIDI_NOTE_A_SHARP_3 = 0x7131, + QMK_QK_MIDI_NOTE_B_3 = 0x7132, + QMK_QK_MIDI_NOTE_C_4 = 0x7133, + QMK_QK_MIDI_NOTE_C_SHARP_4 = 0x7134, + QMK_QK_MIDI_NOTE_D_4 = 0x7135, + QMK_QK_MIDI_NOTE_D_SHARP_4 = 0x7136, + QMK_QK_MIDI_NOTE_E_4 = 0x7137, + QMK_QK_MIDI_NOTE_F_4 = 0x7138, + QMK_QK_MIDI_NOTE_F_SHARP_4 = 0x7139, + QMK_QK_MIDI_NOTE_G_4 = 0x713A, + QMK_QK_MIDI_NOTE_G_SHARP_4 = 0x713B, + QMK_QK_MIDI_NOTE_A_4 = 0x713C, + QMK_QK_MIDI_NOTE_A_SHARP_4 = 0x713D, + QMK_QK_MIDI_NOTE_B_4 = 0x713E, + QMK_QK_MIDI_NOTE_C_5 = 0x713F, + QMK_QK_MIDI_NOTE_C_SHARP_5 = 0x7140, + QMK_QK_MIDI_NOTE_D_5 = 0x7141, + QMK_QK_MIDI_NOTE_D_SHARP_5 = 0x7142, + QMK_QK_MIDI_NOTE_E_5 = 0x7143, + QMK_QK_MIDI_NOTE_F_5 = 0x7144, + QMK_QK_MIDI_NOTE_F_SHARP_5 = 0x7145, + QMK_QK_MIDI_NOTE_G_5 = 0x7146, + QMK_QK_MIDI_NOTE_G_SHARP_5 = 0x7147, + QMK_QK_MIDI_NOTE_A_5 = 0x7148, + QMK_QK_MIDI_NOTE_A_SHARP_5 = 0x7149, + QMK_QK_MIDI_NOTE_B_5 = 0x714A, + QMK_QK_MIDI_OCTAVE_N2 = 0x714B, + QMK_QK_MIDI_OCTAVE_N1 = 0x714C, + QMK_QK_MIDI_OCTAVE_0 = 0x714D, + QMK_QK_MIDI_OCTAVE_1 = 0x714E, + QMK_QK_MIDI_OCTAVE_2 = 0x714F, + QMK_QK_MIDI_OCTAVE_3 = 0x7150, + QMK_QK_MIDI_OCTAVE_4 = 0x7151, + QMK_QK_MIDI_OCTAVE_5 = 0x7152, + QMK_QK_MIDI_OCTAVE_6 = 0x7153, + QMK_QK_MIDI_OCTAVE_7 = 0x7154, + QMK_QK_MIDI_OCTAVE_DOWN = 0x7155, + QMK_QK_MIDI_OCTAVE_UP = 0x7156, + QMK_QK_MIDI_TRANSPOSE_N6 = 0x7157, + QMK_QK_MIDI_TRANSPOSE_N5 = 0x7158, + QMK_QK_MIDI_TRANSPOSE_N4 = 0x7159, + QMK_QK_MIDI_TRANSPOSE_N3 = 0x715A, + QMK_QK_MIDI_TRANSPOSE_N2 = 0x715B, + QMK_QK_MIDI_TRANSPOSE_N1 = 0x715C, + QMK_QK_MIDI_TRANSPOSE_0 = 0x715D, + QMK_QK_MIDI_TRANSPOSE_1 = 0x715E, + QMK_QK_MIDI_TRANSPOSE_2 = 0x715F, + QMK_QK_MIDI_TRANSPOSE_3 = 0x7160, + QMK_QK_MIDI_TRANSPOSE_4 = 0x7161, + QMK_QK_MIDI_TRANSPOSE_5 = 0x7162, + QMK_QK_MIDI_TRANSPOSE_6 = 0x7163, + QMK_QK_MIDI_TRANSPOSE_DOWN = 0x7164, + QMK_QK_MIDI_TRANSPOSE_UP = 0x7165, + QMK_QK_MIDI_VELOCITY_0 = 0x7166, + QMK_QK_MIDI_VELOCITY_1 = 0x7167, + QMK_QK_MIDI_VELOCITY_2 = 0x7168, + QMK_QK_MIDI_VELOCITY_3 = 0x7169, + QMK_QK_MIDI_VELOCITY_4 = 0x716A, + QMK_QK_MIDI_VELOCITY_5 = 0x716B, + QMK_QK_MIDI_VELOCITY_6 = 0x716C, + QMK_QK_MIDI_VELOCITY_7 = 0x716D, + QMK_QK_MIDI_VELOCITY_8 = 0x716E, + QMK_QK_MIDI_VELOCITY_9 = 0x716F, + QMK_QK_MIDI_VELOCITY_10 = 0x7170, + QMK_QK_MIDI_VELOCITY_DOWN = 0x7171, + QMK_QK_MIDI_VELOCITY_UP = 0x7172, + QMK_QK_MIDI_CHANNEL_1 = 0x7173, + QMK_QK_MIDI_CHANNEL_2 = 0x7174, + QMK_QK_MIDI_CHANNEL_3 = 0x7175, + QMK_QK_MIDI_CHANNEL_4 = 0x7176, + QMK_QK_MIDI_CHANNEL_5 = 0x7177, + QMK_QK_MIDI_CHANNEL_6 = 0x7178, + QMK_QK_MIDI_CHANNEL_7 = 0x7179, + QMK_QK_MIDI_CHANNEL_8 = 0x717A, + QMK_QK_MIDI_CHANNEL_9 = 0x717B, + QMK_QK_MIDI_CHANNEL_10 = 0x717C, + QMK_QK_MIDI_CHANNEL_11 = 0x717D, + QMK_QK_MIDI_CHANNEL_12 = 0x717E, + QMK_QK_MIDI_CHANNEL_13 = 0x717F, + QMK_QK_MIDI_CHANNEL_14 = 0x7180, + QMK_QK_MIDI_CHANNEL_15 = 0x7181, + QMK_QK_MIDI_CHANNEL_16 = 0x7182, + QMK_QK_MIDI_CHANNEL_DOWN = 0x7183, + QMK_QK_MIDI_CHANNEL_UP = 0x7184, + QMK_QK_MIDI_ALL_NOTES_OFF = 0x7185, + QMK_QK_MIDI_SUSTAIN = 0x7186, + QMK_QK_MIDI_PORTAMENTO = 0x7187, + QMK_QK_MIDI_SOSTENUTO = 0x7188, + QMK_QK_MIDI_SOFT = 0x7189, + QMK_QK_MIDI_LEGATO = 0x718A, + QMK_QK_MIDI_MODULATION = 0x718B, + QMK_QK_MIDI_MODULATION_SPEED_DOWN = 0x718C, + QMK_QK_MIDI_MODULATION_SPEED_UP = 0x718D, + QMK_QK_MIDI_PITCH_BEND_DOWN = 0x718E, + QMK_QK_MIDI_PITCH_BEND_UP = 0x718F, + QMK_QK_SEQUENCER_ON = 0x7200, + QMK_QK_SEQUENCER_OFF = 0x7201, + QMK_QK_SEQUENCER_TOGGLE = 0x7202, + QMK_QK_SEQUENCER_TEMPO_DOWN = 0x7203, + QMK_QK_SEQUENCER_TEMPO_UP = 0x7204, + QMK_QK_SEQUENCER_RESOLUTION_DOWN = 0x7205, + QMK_QK_SEQUENCER_RESOLUTION_UP = 0x7206, + QMK_QK_SEQUENCER_STEPS_ALL = 0x7207, + QMK_QK_SEQUENCER_STEPS_CLEAR = 0x7208, + QMK_QK_JOYSTICK_BUTTON_0 = 0x7400, + QMK_QK_JOYSTICK_BUTTON_1 = 0x7401, + QMK_QK_JOYSTICK_BUTTON_2 = 0x7402, + QMK_QK_JOYSTICK_BUTTON_3 = 0x7403, + QMK_QK_JOYSTICK_BUTTON_4 = 0x7404, + QMK_QK_JOYSTICK_BUTTON_5 = 0x7405, + QMK_QK_JOYSTICK_BUTTON_6 = 0x7406, + QMK_QK_JOYSTICK_BUTTON_7 = 0x7407, + QMK_QK_JOYSTICK_BUTTON_8 = 0x7408, + QMK_QK_JOYSTICK_BUTTON_9 = 0x7409, + QMK_QK_JOYSTICK_BUTTON_10 = 0x740A, + QMK_QK_JOYSTICK_BUTTON_11 = 0x740B, + QMK_QK_JOYSTICK_BUTTON_12 = 0x740C, + QMK_QK_JOYSTICK_BUTTON_13 = 0x740D, + QMK_QK_JOYSTICK_BUTTON_14 = 0x740E, + QMK_QK_JOYSTICK_BUTTON_15 = 0x740F, + QMK_QK_JOYSTICK_BUTTON_16 = 0x7410, + QMK_QK_JOYSTICK_BUTTON_17 = 0x7411, + QMK_QK_JOYSTICK_BUTTON_18 = 0x7412, + QMK_QK_JOYSTICK_BUTTON_19 = 0x7413, + QMK_QK_JOYSTICK_BUTTON_20 = 0x7414, + QMK_QK_JOYSTICK_BUTTON_21 = 0x7415, + QMK_QK_JOYSTICK_BUTTON_22 = 0x7416, + QMK_QK_JOYSTICK_BUTTON_23 = 0x7417, + QMK_QK_JOYSTICK_BUTTON_24 = 0x7418, + QMK_QK_JOYSTICK_BUTTON_25 = 0x7419, + QMK_QK_JOYSTICK_BUTTON_26 = 0x741A, + QMK_QK_JOYSTICK_BUTTON_27 = 0x741B, + QMK_QK_JOYSTICK_BUTTON_28 = 0x741C, + QMK_QK_JOYSTICK_BUTTON_29 = 0x741D, + QMK_QK_JOYSTICK_BUTTON_30 = 0x741E, + QMK_QK_JOYSTICK_BUTTON_31 = 0x741F, + QMK_QK_PROGRAMMABLE_BUTTON_1 = 0x7440, + QMK_QK_PROGRAMMABLE_BUTTON_2 = 0x7441, + QMK_QK_PROGRAMMABLE_BUTTON_3 = 0x7442, + QMK_QK_PROGRAMMABLE_BUTTON_4 = 0x7443, + QMK_QK_PROGRAMMABLE_BUTTON_5 = 0x7444, + QMK_QK_PROGRAMMABLE_BUTTON_6 = 0x7445, + QMK_QK_PROGRAMMABLE_BUTTON_7 = 0x7446, + QMK_QK_PROGRAMMABLE_BUTTON_8 = 0x7447, + QMK_QK_PROGRAMMABLE_BUTTON_9 = 0x7448, + QMK_QK_PROGRAMMABLE_BUTTON_10 = 0x7449, + QMK_QK_PROGRAMMABLE_BUTTON_11 = 0x744A, + QMK_QK_PROGRAMMABLE_BUTTON_12 = 0x744B, + QMK_QK_PROGRAMMABLE_BUTTON_13 = 0x744C, + QMK_QK_PROGRAMMABLE_BUTTON_14 = 0x744D, + QMK_QK_PROGRAMMABLE_BUTTON_15 = 0x744E, + QMK_QK_PROGRAMMABLE_BUTTON_16 = 0x744F, + QMK_QK_PROGRAMMABLE_BUTTON_17 = 0x7450, + QMK_QK_PROGRAMMABLE_BUTTON_18 = 0x7451, + QMK_QK_PROGRAMMABLE_BUTTON_19 = 0x7452, + QMK_QK_PROGRAMMABLE_BUTTON_20 = 0x7453, + QMK_QK_PROGRAMMABLE_BUTTON_21 = 0x7454, + QMK_QK_PROGRAMMABLE_BUTTON_22 = 0x7455, + QMK_QK_PROGRAMMABLE_BUTTON_23 = 0x7456, + QMK_QK_PROGRAMMABLE_BUTTON_24 = 0x7457, + QMK_QK_PROGRAMMABLE_BUTTON_25 = 0x7458, + QMK_QK_PROGRAMMABLE_BUTTON_26 = 0x7459, + QMK_QK_PROGRAMMABLE_BUTTON_27 = 0x745A, + QMK_QK_PROGRAMMABLE_BUTTON_28 = 0x745B, + QMK_QK_PROGRAMMABLE_BUTTON_29 = 0x745C, + QMK_QK_PROGRAMMABLE_BUTTON_30 = 0x745D, + QMK_QK_PROGRAMMABLE_BUTTON_31 = 0x745E, + QMK_QK_PROGRAMMABLE_BUTTON_32 = 0x745F, + QMK_QK_AUDIO_ON = 0x7480, + QMK_QK_AUDIO_OFF = 0x7481, + QMK_QK_AUDIO_TOGGLE = 0x7482, + QMK_QK_AUDIO_CLICKY_TOGGLE = 0x748A, + QMK_QK_AUDIO_CLICKY_ON = 0x748B, + QMK_QK_AUDIO_CLICKY_OFF = 0x748C, + QMK_QK_AUDIO_CLICKY_UP = 0x748D, + QMK_QK_AUDIO_CLICKY_DOWN = 0x748E, + QMK_QK_AUDIO_CLICKY_RESET = 0x748F, + QMK_QK_MUSIC_ON = 0x7490, + QMK_QK_MUSIC_OFF = 0x7491, + QMK_QK_MUSIC_TOGGLE = 0x7492, + QMK_QK_MUSIC_MODE_NEXT = 0x7493, + QMK_QK_AUDIO_VOICE_NEXT = 0x7494, + QMK_QK_AUDIO_VOICE_PREVIOUS = 0x7495, + QMK_QK_STENO_BOLT = 0x74F0, + QMK_QK_STENO_GEMINI = 0x74F1, + QMK_QK_STENO_COMB = 0x74F2, + QMK_QK_STENO_COMB_MAX = 0x74FC, + QMK_QK_MACRO_0 = 0x7700, + QMK_QK_MACRO_1 = 0x7701, + QMK_QK_MACRO_2 = 0x7702, + QMK_QK_MACRO_3 = 0x7703, + QMK_QK_MACRO_4 = 0x7704, + QMK_QK_MACRO_5 = 0x7705, + QMK_QK_MACRO_6 = 0x7706, + QMK_QK_MACRO_7 = 0x7707, + QMK_QK_MACRO_8 = 0x7708, + QMK_QK_MACRO_9 = 0x7709, + QMK_QK_MACRO_10 = 0x770A, + QMK_QK_MACRO_11 = 0x770B, + QMK_QK_MACRO_12 = 0x770C, + QMK_QK_MACRO_13 = 0x770D, + QMK_QK_MACRO_14 = 0x770E, + QMK_QK_MACRO_15 = 0x770F, + QMK_QK_MACRO_16 = 0x7710, + QMK_QK_MACRO_17 = 0x7711, + QMK_QK_MACRO_18 = 0x7712, + QMK_QK_MACRO_19 = 0x7713, + QMK_QK_MACRO_20 = 0x7714, + QMK_QK_MACRO_21 = 0x7715, + QMK_QK_MACRO_22 = 0x7716, + QMK_QK_MACRO_23 = 0x7717, + QMK_QK_MACRO_24 = 0x7718, + QMK_QK_MACRO_25 = 0x7719, + QMK_QK_MACRO_26 = 0x771A, + QMK_QK_MACRO_27 = 0x771B, + QMK_QK_MACRO_28 = 0x771C, + QMK_QK_MACRO_29 = 0x771D, + QMK_QK_MACRO_30 = 0x771E, + QMK_QK_MACRO_31 = 0x771F, + QMK_QK_OUTPUT_AUTO = 0x7780, + QMK_QK_OUTPUT_NEXT = 0x7781, + QMK_QK_OUTPUT_PREV = 0x7782, + QMK_QK_OUTPUT_NONE = 0x7783, + QMK_QK_OUTPUT_USB = 0x7784, + QMK_QK_OUTPUT_2P4GHZ = 0x7785, + QMK_QK_OUTPUT_BLUETOOTH = 0x7786, + QMK_QK_BLUETOOTH_PROFILE_NEXT = 0x7790, + QMK_QK_BLUETOOTH_PROFILE_PREV = 0x7791, + QMK_QK_BLUETOOTH_UNPAIR = 0x7792, + QMK_QK_BLUETOOTH_PROFILE1 = 0x7793, + QMK_QK_BLUETOOTH_PROFILE2 = 0x7794, + QMK_QK_BLUETOOTH_PROFILE3 = 0x7795, + QMK_QK_BLUETOOTH_PROFILE4 = 0x7796, + QMK_QK_BLUETOOTH_PROFILE5 = 0x7797, + QMK_QK_BACKLIGHT_ON = 0x7800, + QMK_QK_BACKLIGHT_OFF = 0x7801, + QMK_QK_BACKLIGHT_TOGGLE = 0x7802, + QMK_QK_BACKLIGHT_DOWN = 0x7803, + QMK_QK_BACKLIGHT_UP = 0x7804, + QMK_QK_BACKLIGHT_STEP = 0x7805, + QMK_QK_BACKLIGHT_TOGGLE_BREATHING = 0x7806, + QMK_QK_LED_MATRIX_ON = 0x7810, + QMK_QK_LED_MATRIX_OFF = 0x7811, + QMK_QK_LED_MATRIX_TOGGLE = 0x7812, + QMK_QK_LED_MATRIX_MODE_NEXT = 0x7813, + QMK_QK_LED_MATRIX_MODE_PREVIOUS = 0x7814, + QMK_QK_LED_MATRIX_BRIGHTNESS_UP = 0x7815, + QMK_QK_LED_MATRIX_BRIGHTNESS_DOWN = 0x7816, + QMK_QK_LED_MATRIX_SPEED_UP = 0x7817, + QMK_QK_LED_MATRIX_SPEED_DOWN = 0x7818, + QMK_QK_UNDERGLOW_TOGGLE = 0x7820, + QMK_QK_UNDERGLOW_MODE_NEXT = 0x7821, + QMK_QK_UNDERGLOW_MODE_PREVIOUS = 0x7822, + QMK_QK_UNDERGLOW_HUE_UP = 0x7823, + QMK_QK_UNDERGLOW_HUE_DOWN = 0x7824, + QMK_QK_UNDERGLOW_SATURATION_UP = 0x7825, + QMK_QK_UNDERGLOW_SATURATION_DOWN = 0x7826, + QMK_QK_UNDERGLOW_VALUE_UP = 0x7827, + QMK_QK_UNDERGLOW_VALUE_DOWN = 0x7828, + QMK_QK_UNDERGLOW_SPEED_UP = 0x7829, + QMK_QK_UNDERGLOW_SPEED_DOWN = 0x782A, + QMK_RGB_MODE_PLAIN = 0x782B, + QMK_RGB_MODE_BREATHE = 0x782C, + QMK_RGB_MODE_RAINBOW = 0x782D, + QMK_RGB_MODE_SWIRL = 0x782E, + QMK_RGB_MODE_SNAKE = 0x782F, + QMK_RGB_MODE_KNIGHT = 0x7830, + QMK_RGB_MODE_XMAS = 0x7831, + QMK_RGB_MODE_GRADIENT = 0x7832, + QMK_RGB_MODE_RGBTEST = 0x7833, + QMK_RGB_MODE_TWINKLE = 0x7834, + QMK_QK_RGB_MATRIX_ON = 0x7840, + QMK_QK_RGB_MATRIX_OFF = 0x7841, + QMK_QK_RGB_MATRIX_TOGGLE = 0x7842, + QMK_QK_RGB_MATRIX_MODE_NEXT = 0x7843, + QMK_QK_RGB_MATRIX_MODE_PREVIOUS = 0x7844, + QMK_QK_RGB_MATRIX_HUE_UP = 0x7845, + QMK_QK_RGB_MATRIX_HUE_DOWN = 0x7846, + QMK_QK_RGB_MATRIX_SATURATION_UP = 0x7847, + QMK_QK_RGB_MATRIX_SATURATION_DOWN = 0x7848, + QMK_QK_RGB_MATRIX_VALUE_UP = 0x7849, + QMK_QK_RGB_MATRIX_VALUE_DOWN = 0x784A, + QMK_QK_RGB_MATRIX_SPEED_UP = 0x784B, + QMK_QK_RGB_MATRIX_SPEED_DOWN = 0x784C, + QMK_QK_BOOTLOADER = 0x7C00, + QMK_QK_REBOOT = 0x7C01, + QMK_QK_DEBUG_TOGGLE = 0x7C02, + QMK_QK_CLEAR_EEPROM = 0x7C03, + QMK_QK_MAKE = 0x7C04, + QMK_QK_AUTO_SHIFT_DOWN = 0x7C10, + QMK_QK_AUTO_SHIFT_UP = 0x7C11, + QMK_QK_AUTO_SHIFT_REPORT = 0x7C12, + QMK_QK_AUTO_SHIFT_ON = 0x7C13, + QMK_QK_AUTO_SHIFT_OFF = 0x7C14, + QMK_QK_AUTO_SHIFT_TOGGLE = 0x7C15, + QMK_QK_GRAVE_ESCAPE = 0x7C16, + QMK_QK_VELOCIKEY_TOGGLE = 0x7C17, + QMK_QK_SPACE_CADET_LEFT_CTRL_PARENTHESIS_OPEN = 0x7C18, + QMK_QK_SPACE_CADET_RIGHT_CTRL_PARENTHESIS_CLOSE = 0x7C19, + QMK_QK_SPACE_CADET_LEFT_SHIFT_PARENTHESIS_OPEN = 0x7C1A, + QMK_QK_SPACE_CADET_RIGHT_SHIFT_PARENTHESIS_CLOSE = 0x7C1B, + QMK_QK_SPACE_CADET_LEFT_ALT_PARENTHESIS_OPEN = 0x7C1C, + QMK_QK_SPACE_CADET_RIGHT_ALT_PARENTHESIS_CLOSE = 0x7C1D, + QMK_QK_SPACE_CADET_RIGHT_SHIFT_ENTER = 0x7C1E, + QMK_QK_UNICODE_MODE_NEXT = 0x7C30, + QMK_QK_UNICODE_MODE_PREVIOUS = 0x7C31, + QMK_QK_UNICODE_MODE_MACOS = 0x7C32, + QMK_QK_UNICODE_MODE_LINUX = 0x7C33, + QMK_QK_UNICODE_MODE_WINDOWS = 0x7C34, + QMK_QK_UNICODE_MODE_BSD = 0x7C35, + QMK_QK_UNICODE_MODE_WINCOMPOSE = 0x7C36, + QMK_QK_UNICODE_MODE_EMACS = 0x7C37, + QMK_QK_HAPTIC_ON = 0x7C40, + QMK_QK_HAPTIC_OFF = 0x7C41, + QMK_QK_HAPTIC_TOGGLE = 0x7C42, + QMK_QK_HAPTIC_RESET = 0x7C43, + QMK_QK_HAPTIC_FEEDBACK_TOGGLE = 0x7C44, + QMK_QK_HAPTIC_BUZZ_TOGGLE = 0x7C45, + QMK_QK_HAPTIC_MODE_NEXT = 0x7C46, + QMK_QK_HAPTIC_MODE_PREVIOUS = 0x7C47, + QMK_QK_HAPTIC_CONTINUOUS_TOGGLE = 0x7C48, + QMK_QK_HAPTIC_CONTINUOUS_UP = 0x7C49, + QMK_QK_HAPTIC_CONTINUOUS_DOWN = 0x7C4A, + QMK_QK_HAPTIC_DWELL_UP = 0x7C4B, + QMK_QK_HAPTIC_DWELL_DOWN = 0x7C4C, + QMK_QK_COMBO_ON = 0x7C50, + QMK_QK_COMBO_OFF = 0x7C51, + QMK_QK_COMBO_TOGGLE = 0x7C52, + QMK_QK_DYNAMIC_MACRO_RECORD_START_1 = 0x7C53, + QMK_QK_DYNAMIC_MACRO_RECORD_START_2 = 0x7C54, + QMK_QK_DYNAMIC_MACRO_RECORD_STOP = 0x7C55, + QMK_QK_DYNAMIC_MACRO_PLAY_1 = 0x7C56, + QMK_QK_DYNAMIC_MACRO_PLAY_2 = 0x7C57, + QMK_QK_LEADER = 0x7C58, + QMK_QK_LOCK = 0x7C59, + QMK_QK_ONE_SHOT_ON = 0x7C5A, + QMK_QK_ONE_SHOT_OFF = 0x7C5B, + QMK_QK_ONE_SHOT_TOGGLE = 0x7C5C, + QMK_QK_KEY_OVERRIDE_TOGGLE = 0x7C5D, + QMK_QK_KEY_OVERRIDE_ON = 0x7C5E, + QMK_QK_KEY_OVERRIDE_OFF = 0x7C5F, + QMK_QK_SECURE_LOCK = 0x7C60, + QMK_QK_SECURE_UNLOCK = 0x7C61, + QMK_QK_SECURE_TOGGLE = 0x7C62, + QMK_QK_SECURE_REQUEST = 0x7C63, + QMK_QK_DYNAMIC_TAPPING_TERM_PRINT = 0x7C70, + QMK_QK_DYNAMIC_TAPPING_TERM_UP = 0x7C71, + QMK_QK_DYNAMIC_TAPPING_TERM_DOWN = 0x7C72, + QMK_QK_CAPS_WORD_TOGGLE = 0x7C73, + QMK_QK_AUTOCORRECT_ON = 0x7C74, + QMK_QK_AUTOCORRECT_OFF = 0x7C75, + QMK_QK_AUTOCORRECT_TOGGLE = 0x7C76, + QMK_QK_TRI_LAYER_LOWER = 0x7C77, + QMK_QK_TRI_LAYER_UPPER = 0x7C78, + QMK_QK_REPEAT_KEY = 0x7C79, + QMK_QK_ALT_REPEAT_KEY = 0x7C7A, + QMK_QK_LAYER_LOCK = 0x7C7B, + QMK_QK_KB_0 = 0x7E00, + QMK_QK_KB_1 = 0x7E01, + QMK_QK_KB_2 = 0x7E02, + QMK_QK_KB_3 = 0x7E03, + QMK_QK_KB_4 = 0x7E04, + QMK_QK_KB_5 = 0x7E05, + QMK_QK_KB_6 = 0x7E06, + QMK_QK_KB_7 = 0x7E07, + QMK_QK_KB_8 = 0x7E08, + QMK_QK_KB_9 = 0x7E09, + QMK_QK_KB_10 = 0x7E0A, + QMK_QK_KB_11 = 0x7E0B, + QMK_QK_KB_12 = 0x7E0C, + QMK_QK_KB_13 = 0x7E0D, + QMK_QK_KB_14 = 0x7E0E, + QMK_QK_KB_15 = 0x7E0F, + QMK_QK_KB_16 = 0x7E10, + QMK_QK_KB_17 = 0x7E11, + QMK_QK_KB_18 = 0x7E12, + QMK_QK_KB_19 = 0x7E13, + QMK_QK_KB_20 = 0x7E14, + QMK_QK_KB_21 = 0x7E15, + QMK_QK_KB_22 = 0x7E16, + QMK_QK_KB_23 = 0x7E17, + QMK_QK_KB_24 = 0x7E18, + QMK_QK_KB_25 = 0x7E19, + QMK_QK_KB_26 = 0x7E1A, + QMK_QK_KB_27 = 0x7E1B, + QMK_QK_KB_28 = 0x7E1C, + QMK_QK_KB_29 = 0x7E1D, + QMK_QK_KB_30 = 0x7E1E, + QMK_QK_KB_31 = 0x7E1F, + QMK_QK_USER_0 = 0x7E40, + QMK_QK_USER_1 = 0x7E41, + QMK_QK_USER_2 = 0x7E42, + QMK_QK_USER_3 = 0x7E43, + QMK_QK_USER_4 = 0x7E44, + QMK_QK_USER_5 = 0x7E45, + QMK_QK_USER_6 = 0x7E46, + QMK_QK_USER_7 = 0x7E47, + QMK_QK_USER_8 = 0x7E48, + QMK_QK_USER_9 = 0x7E49, + QMK_QK_USER_10 = 0x7E4A, + QMK_QK_USER_11 = 0x7E4B, + QMK_QK_USER_12 = 0x7E4C, + QMK_QK_USER_13 = 0x7E4D, + QMK_QK_USER_14 = 0x7E4E, + QMK_QK_USER_15 = 0x7E4F, + QMK_QK_USER_16 = 0x7E50, + QMK_QK_USER_17 = 0x7E51, + QMK_QK_USER_18 = 0x7E52, + QMK_QK_USER_19 = 0x7E53, + QMK_QK_USER_20 = 0x7E54, + QMK_QK_USER_21 = 0x7E55, + QMK_QK_USER_22 = 0x7E56, + QMK_QK_USER_23 = 0x7E57, + QMK_QK_USER_24 = 0x7E58, + QMK_QK_USER_25 = 0x7E59, + QMK_QK_USER_26 = 0x7E5A, + QMK_QK_USER_27 = 0x7E5B, + QMK_QK_USER_28 = 0x7E5C, + QMK_QK_USER_29 = 0x7E5D, + QMK_QK_USER_30 = 0x7E5E, + QMK_QK_USER_31 = 0x7E5F, +}; + +extern std::map qmk_keynames; diff --git a/Controllers/QMKOpenRGBController/QMKOpenRGBBaseController.cpp b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBBaseController.cpp similarity index 61% rename from Controllers/QMKOpenRGBController/QMKOpenRGBBaseController.cpp rename to Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBBaseController.cpp index d74d7b8eb..3a9e43ac3 100644 --- a/Controllers/QMKOpenRGBController/QMKOpenRGBBaseController.cpp +++ b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBBaseController.cpp @@ -16,140 +16,6 @@ using namespace std::chrono_literals; -qmk_keycodes qmk_keycode_keyname_map = -{ - { 0, KEY_EN_UNUSED }, - { 1, KEY_EN_RIGHT_FUNCTION }, - { 2, KEY_EN_UNUSED }, - { 3, KEY_EN_UNUSED }, - { 4, KEY_EN_A }, - { 5, KEY_EN_B }, - { 6, KEY_EN_C }, - { 7, KEY_EN_D }, - { 8, KEY_EN_E }, - { 9, KEY_EN_F }, - { 10, KEY_EN_G }, - { 11, KEY_EN_H }, - { 12, KEY_EN_I }, - { 13, KEY_EN_J }, - { 14, KEY_EN_K }, - { 15, KEY_EN_L }, - { 16, KEY_EN_M }, - { 17, KEY_EN_N }, - { 18, KEY_EN_O }, - { 19, KEY_EN_P }, - { 20, KEY_EN_Q }, - { 21, KEY_EN_R }, - { 22, KEY_EN_S }, - { 23, KEY_EN_T }, - { 24, KEY_EN_U }, - { 25, KEY_EN_V }, - { 26, KEY_EN_W }, - { 27, KEY_EN_X }, - { 28, KEY_EN_Y }, - { 29, KEY_EN_Z }, - { 30, KEY_EN_1 }, - { 31, KEY_EN_2 }, - { 32, KEY_EN_3 }, - { 33, KEY_EN_4 }, - { 34, KEY_EN_5 }, - { 35, KEY_EN_6 }, - { 36, KEY_EN_7 }, - { 37, KEY_EN_8 }, - { 38, KEY_EN_9 }, - { 39, KEY_EN_0 }, - { 40, KEY_EN_ANSI_ENTER }, - { 41, KEY_EN_ESCAPE }, - { 42, KEY_EN_BACKSPACE }, - { 43, KEY_EN_TAB }, - { 44, KEY_EN_SPACE }, - { 45, KEY_EN_MINUS }, - { 46, KEY_EN_EQUALS }, - { 47, KEY_EN_LEFT_BRACKET }, - { 48, KEY_EN_RIGHT_BRACKET }, - { 49, KEY_EN_ANSI_BACK_SLASH }, - { 50, KEY_EN_POUND }, - { 51, KEY_EN_SEMICOLON }, - { 52, KEY_EN_QUOTE }, - { 53, KEY_EN_BACK_TICK }, - { 54, KEY_EN_COMMA }, - { 55, KEY_EN_PERIOD }, - { 56, KEY_EN_FORWARD_SLASH }, - { 57, KEY_EN_CAPS_LOCK }, - { 58, KEY_EN_F1 }, - { 59, KEY_EN_F2 }, - { 60, KEY_EN_F3 }, - { 61, KEY_EN_F4 }, - { 62, KEY_EN_F5 }, - { 63, KEY_EN_F6 }, - { 64, KEY_EN_F7 }, - { 65, KEY_EN_F8 }, - { 66, KEY_EN_F9 }, - { 67, KEY_EN_F10 }, - { 68, KEY_EN_F11 }, - { 69, KEY_EN_F12 }, - { 70, KEY_EN_PRINT_SCREEN }, - { 71, KEY_EN_SCROLL_LOCK }, - { 72, KEY_EN_PAUSE_BREAK }, - { 73, KEY_EN_INSERT }, - { 74, KEY_EN_HOME }, - { 75, KEY_EN_PAGE_UP }, - { 76, KEY_EN_DELETE }, - { 77, KEY_EN_END }, - { 78, KEY_EN_PAGE_DOWN }, - { 79, KEY_EN_RIGHT_ARROW }, - { 80, KEY_EN_LEFT_ARROW }, - { 81, KEY_EN_DOWN_ARROW }, - { 82, KEY_EN_UP_ARROW }, - { 83, KEY_EN_NUMPAD_LOCK }, - { 84, KEY_EN_NUMPAD_DIVIDE }, - { 85, KEY_EN_NUMPAD_TIMES }, - { 86, KEY_EN_NUMPAD_MINUS }, - { 87, KEY_EN_NUMPAD_PLUS }, - { 88, KEY_EN_NUMPAD_ENTER }, - { 89, KEY_EN_NUMPAD_1 }, - { 90, KEY_EN_NUMPAD_2 }, - { 91, KEY_EN_NUMPAD_3 }, - { 92, KEY_EN_NUMPAD_4 }, - { 93, KEY_EN_NUMPAD_5 }, - { 94, KEY_EN_NUMPAD_6 }, - { 95, KEY_EN_NUMPAD_7 }, - { 96, KEY_EN_NUMPAD_8 }, - { 97, KEY_EN_NUMPAD_9 }, - { 98, KEY_EN_NUMPAD_0 }, - { 99, KEY_EN_NUMPAD_PERIOD }, - { 100, KEY_EN_ISO_BACK_SLASH }, - { 101, KEY_EN_MENU }, - { 104, "Key: F13" }, - { 105, "Key: F14" }, - { 106, "Key: F15" }, - { 107, "Key: F16" }, - { 168, KEY_EN_MEDIA_MUTE }, - { 169, KEY_EN_MEDIA_VOLUME_UP }, - { 170, KEY_EN_MEDIA_VOLUME_DOWN }, - { 171, KEY_EN_MEDIA_NEXT }, - { 172, KEY_EN_MEDIA_PREVIOUS }, - { 173, KEY_EN_MEDIA_STOP }, - { 174, KEY_EN_MEDIA_PLAY_PAUSE }, - { 175, "Key: Media Select" }, - { 176, "Key: Media Eject" }, - { 189, "Key: Brightness Up" }, - { 190, "Key: Brightness Down" }, - { 196, "Key: Task Manager" }, - { 202, "Key: RGB Brightness Up" }, - { 203, "Key: RGB Brightness Down" }, - { 216, KEY_EN_LEFT_SHIFT }, /* Space Cadet Left Shift */ - { 217, KEY_EN_RIGHT_SHIFT }, /* Space Cadet Right Shift */ - { 224, KEY_EN_LEFT_CONTROL }, - { 225, KEY_EN_LEFT_SHIFT }, - { 226, KEY_EN_LEFT_ALT }, - { 227, KEY_EN_LEFT_WINDOWS }, - { 228, KEY_EN_RIGHT_CONTROL }, - { 229, KEY_EN_RIGHT_SHIFT }, - { 230, KEY_EN_RIGHT_ALT }, - { 231, KEY_EN_RIGHT_WINDOWS }, -}; - QMKOpenRGBBaseController::QMKOpenRGBBaseController(hid_device *dev_handle, const char *path, unsigned char max_led_count) { /*-------------------------------------------------*\ diff --git a/Controllers/QMKOpenRGBController/QMKOpenRGBBaseController.h b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBBaseController.h similarity index 96% rename from Controllers/QMKOpenRGBController/QMKOpenRGBBaseController.h rename to Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBBaseController.h index 5b42503f2..fc4b0cf32 100644 --- a/Controllers/QMKOpenRGBController/QMKOpenRGBBaseController.h +++ b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBBaseController.h @@ -17,9 +17,6 @@ #include "SettingsManager.h" #include "QMKOpenRGBController.h" -typedef std::map qmk_keycodes; -extern qmk_keycodes qmk_keycode_keyname_map; - class QMKOpenRGBBaseController { public: diff --git a/Controllers/QMKOpenRGBController/QMKOpenRGBController.h b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBController.h similarity index 100% rename from Controllers/QMKOpenRGBController/QMKOpenRGBController.h rename to Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBController.h diff --git a/Controllers/QMKOpenRGBController/QMKOpenRGBControllerDetect.cpp b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBControllerDetect.cpp similarity index 100% rename from Controllers/QMKOpenRGBController/QMKOpenRGBControllerDetect.cpp rename to Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBControllerDetect.cpp diff --git a/Controllers/QMKOpenRGBController/QMKOpenRGBRev9Controller/QMKOpenRGBRev9Controller.cpp b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRev9Controller/QMKOpenRGBRev9Controller.cpp similarity index 97% rename from Controllers/QMKOpenRGBController/QMKOpenRGBRev9Controller/QMKOpenRGBRev9Controller.cpp rename to Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRev9Controller/QMKOpenRGBRev9Controller.cpp index a843bed23..7042d9917 100644 --- a/Controllers/QMKOpenRGBController/QMKOpenRGBRev9Controller/QMKOpenRGBRev9Controller.cpp +++ b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRev9Controller/QMKOpenRGBRev9Controller.cpp @@ -11,6 +11,7 @@ | SPDX-License-Identifier: GPL-2.0-or-later | \*---------------------------------------------------------*/ +#include "QMKKeycodes.h" #include "QMKOpenRGBRev9Controller.h" using namespace std::chrono_literals; @@ -56,9 +57,9 @@ void QMKOpenRGBRev9Controller::GetLEDInfo(unsigned int led) if(usb_buf[QMK_OPENRGB_KEYCODE_BYTE] != 0) { - if (qmk_keycode_keyname_map.count(usb_buf[QMK_OPENRGB_KEYCODE_BYTE]) > 0) + if(qmk_keynames.count(usb_buf[QMK_OPENRGB_KEYCODE_BYTE]) > 0) { - led_names.push_back(qmk_keycode_keyname_map[usb_buf[QMK_OPENRGB_KEYCODE_BYTE]]); + led_names.push_back(qmk_keynames[usb_buf[QMK_OPENRGB_KEYCODE_BYTE]]); } else { diff --git a/Controllers/QMKOpenRGBController/QMKOpenRGBRev9Controller/QMKOpenRGBRev9Controller.h b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRev9Controller/QMKOpenRGBRev9Controller.h similarity index 100% rename from Controllers/QMKOpenRGBController/QMKOpenRGBRev9Controller/QMKOpenRGBRev9Controller.h rename to Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRev9Controller/QMKOpenRGBRev9Controller.h diff --git a/Controllers/QMKOpenRGBController/QMKOpenRGBRev9Controller/RGBController_QMKOpenRGBRev9.cpp b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRev9Controller/RGBController_QMKOpenRGBRev9.cpp similarity index 100% rename from Controllers/QMKOpenRGBController/QMKOpenRGBRev9Controller/RGBController_QMKOpenRGBRev9.cpp rename to Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRev9Controller/RGBController_QMKOpenRGBRev9.cpp diff --git a/Controllers/QMKOpenRGBController/QMKOpenRGBRev9Controller/RGBController_QMKOpenRGBRev9.h b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRev9Controller/RGBController_QMKOpenRGBRev9.h similarity index 100% rename from Controllers/QMKOpenRGBController/QMKOpenRGBRev9Controller/RGBController_QMKOpenRGBRev9.h rename to Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRev9Controller/RGBController_QMKOpenRGBRev9.h diff --git a/Controllers/QMKOpenRGBController/QMKOpenRGBRevBController/QMKOpenRGBRevBController.cpp b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevBController/QMKOpenRGBRevBController.cpp similarity index 97% rename from Controllers/QMKOpenRGBController/QMKOpenRGBRevBController/QMKOpenRGBRevBController.cpp rename to Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevBController/QMKOpenRGBRevBController.cpp index ee678f9b4..9db1d9558 100644 --- a/Controllers/QMKOpenRGBController/QMKOpenRGBRevBController/QMKOpenRGBRevBController.cpp +++ b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevBController/QMKOpenRGBRevBController.cpp @@ -10,6 +10,7 @@ | SPDX-License-Identifier: GPL-2.0-or-later | \*---------------------------------------------------------*/ +#include "QMKKeycodes.h" #include "QMKOpenRGBRevBController.h" using namespace std::chrono_literals; @@ -70,9 +71,9 @@ void QMKOpenRGBRevBController::GetLEDInfo(unsigned int leds_count) if(usb_buf[(offset) + QMK_OPENRGB_KEYCODE_BYTE] != 0) { - if(qmk_keycode_keyname_map.count(usb_buf[(offset) + QMK_OPENRGB_KEYCODE_BYTE]) > 0) + if(qmk_keynames.count(usb_buf[(offset) + QMK_OPENRGB_KEYCODE_BYTE]) > 0) { - led_names.push_back(qmk_keycode_keyname_map[usb_buf[(offset) + QMK_OPENRGB_KEYCODE_BYTE]]); + led_names.push_back(qmk_keynames[usb_buf[(offset) + QMK_OPENRGB_KEYCODE_BYTE]]); } else { diff --git a/Controllers/QMKOpenRGBController/QMKOpenRGBRevBController/QMKOpenRGBRevBController.h b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevBController/QMKOpenRGBRevBController.h similarity index 100% rename from Controllers/QMKOpenRGBController/QMKOpenRGBRevBController/QMKOpenRGBRevBController.h rename to Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevBController/QMKOpenRGBRevBController.h diff --git a/Controllers/QMKOpenRGBController/QMKOpenRGBRevBController/RGBController_QMKOpenRGBRevB.cpp b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevBController/RGBController_QMKOpenRGBRevB.cpp similarity index 100% rename from Controllers/QMKOpenRGBController/QMKOpenRGBRevBController/RGBController_QMKOpenRGBRevB.cpp rename to Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevBController/RGBController_QMKOpenRGBRevB.cpp diff --git a/Controllers/QMKOpenRGBController/QMKOpenRGBRevBController/RGBController_QMKOpenRGBRevB.h b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevBController/RGBController_QMKOpenRGBRevB.h similarity index 100% rename from Controllers/QMKOpenRGBController/QMKOpenRGBRevBController/RGBController_QMKOpenRGBRevB.h rename to Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevBController/RGBController_QMKOpenRGBRevB.h diff --git a/Controllers/QMKOpenRGBController/QMKOpenRGBRevDController/QMKOpenRGBRevDController.cpp b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevDController/QMKOpenRGBRevDController.cpp similarity index 97% rename from Controllers/QMKOpenRGBController/QMKOpenRGBRevDController/QMKOpenRGBRevDController.cpp rename to Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevDController/QMKOpenRGBRevDController.cpp index 4719b841b..9d5321139 100644 --- a/Controllers/QMKOpenRGBController/QMKOpenRGBRevDController/QMKOpenRGBRevDController.cpp +++ b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevDController/QMKOpenRGBRevDController.cpp @@ -9,6 +9,7 @@ | SPDX-License-Identifier: GPL-2.0-or-later | \*---------------------------------------------------------*/ +#include "QMKKeycodes.h" #include "QMKOpenRGBRevDController.h" using namespace std::chrono_literals; @@ -91,9 +92,9 @@ void QMKOpenRGBRevDController::GetLEDInfo(unsigned int leds_count) if(usb_buf[offset + QMK_OPENRGB_KEYCODE_BYTE] != 0) { - if (qmk_keycode_keyname_map.count(usb_buf[offset + QMK_OPENRGB_KEYCODE_BYTE]) > 0) + if(qmk_keynames.count(usb_buf[offset + QMK_OPENRGB_KEYCODE_BYTE]) > 0) { - led_names.push_back(qmk_keycode_keyname_map[usb_buf[offset + QMK_OPENRGB_KEYCODE_BYTE]]); + led_names.push_back(qmk_keynames[usb_buf[offset + QMK_OPENRGB_KEYCODE_BYTE]]); } else { diff --git a/Controllers/QMKOpenRGBController/QMKOpenRGBRevDController/QMKOpenRGBRevDController.h b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevDController/QMKOpenRGBRevDController.h similarity index 100% rename from Controllers/QMKOpenRGBController/QMKOpenRGBRevDController/QMKOpenRGBRevDController.h rename to Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevDController/QMKOpenRGBRevDController.h diff --git a/Controllers/QMKOpenRGBController/QMKOpenRGBRevDController/RGBController_QMKOpenRGBRevD.cpp b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevDController/RGBController_QMKOpenRGBRevD.cpp similarity index 100% rename from Controllers/QMKOpenRGBController/QMKOpenRGBRevDController/RGBController_QMKOpenRGBRevD.cpp rename to Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevDController/RGBController_QMKOpenRGBRevD.cpp diff --git a/Controllers/QMKOpenRGBController/QMKOpenRGBRevDController/RGBController_QMKOpenRGBRevD.h b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevDController/RGBController_QMKOpenRGBRevD.h similarity index 100% rename from Controllers/QMKOpenRGBController/QMKOpenRGBRevDController/RGBController_QMKOpenRGBRevD.h rename to Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevDController/RGBController_QMKOpenRGBRevD.h diff --git a/Controllers/QMKOpenRGBController/QMKOpenRGBRevEController/RGBController_QMKOpenRGBRevE.cpp b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevEController/RGBController_QMKOpenRGBRevE.cpp similarity index 100% rename from Controllers/QMKOpenRGBController/QMKOpenRGBRevEController/RGBController_QMKOpenRGBRevE.cpp rename to Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevEController/RGBController_QMKOpenRGBRevE.cpp diff --git a/Controllers/QMKOpenRGBController/QMKOpenRGBRevEController/RGBController_QMKOpenRGBRevE.h b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevEController/RGBController_QMKOpenRGBRevE.h similarity index 100% rename from Controllers/QMKOpenRGBController/QMKOpenRGBRevEController/RGBController_QMKOpenRGBRevE.h rename to Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevEController/RGBController_QMKOpenRGBRevE.h diff --git a/Controllers/QMKVialRGBController/QMKVialRGBController.cpp b/Controllers/QMKController/QMKVialRGBController/QMKVialRGBController.cpp similarity index 100% rename from Controllers/QMKVialRGBController/QMKVialRGBController.cpp rename to Controllers/QMKController/QMKVialRGBController/QMKVialRGBController.cpp diff --git a/Controllers/QMKVialRGBController/QMKVialRGBController.h b/Controllers/QMKController/QMKVialRGBController/QMKVialRGBController.h similarity index 100% rename from Controllers/QMKVialRGBController/QMKVialRGBController.h rename to Controllers/QMKController/QMKVialRGBController/QMKVialRGBController.h diff --git a/Controllers/QMKVialRGBController/QMKVialRGBControllerDetect.cpp b/Controllers/QMKController/QMKVialRGBController/QMKVialRGBControllerDetect.cpp similarity index 100% rename from Controllers/QMKVialRGBController/QMKVialRGBControllerDetect.cpp rename to Controllers/QMKController/QMKVialRGBController/QMKVialRGBControllerDetect.cpp diff --git a/Controllers/QMKController/QMKVialRGBController/RGBController_QMKVialRGB.cpp b/Controllers/QMKController/QMKVialRGBController/RGBController_QMKVialRGB.cpp new file mode 100644 index 000000000..d8e3b5b54 --- /dev/null +++ b/Controllers/QMKController/QMKVialRGBController/RGBController_QMKVialRGB.cpp @@ -0,0 +1,259 @@ +/*---------------------------------------------------------*\ +| RGBController_QMKVialRGB.cpp | +| | +| RGBController for VialRGB QMK Keyboard Protocol | +| | +| Adam Honse GetName(); + description = "QMK VialRGB Device"; + vendor = controller->GetVendor(); + location = controller->GetLocation(); + serial = controller->GetSerial(); + version = controller->GetVersion(); + type = DEVICE_TYPE_KEYBOARD; + + /*-----------------------------------------------------*\ + | Read mode list | + \*-----------------------------------------------------*/ + for(std::size_t effect_idx = 0; effect_idx < controller->GetEffectCount(); effect_idx++) + { + mode new_mode; + new_mode.name = vialrgb_modes[controller->GetEffect(effect_idx)].name; + new_mode.value = vialrgb_modes[controller->GetEffect(effect_idx)].value; + + if(new_mode.value == VIALRGB_EFFECT_DIRECT) + { + new_mode.flags = MODE_FLAG_HAS_PER_LED_COLOR; + new_mode.color_mode = MODE_COLORS_PER_LED; + } + + if(new_mode.value >= VIALRGB_EFFECT_SOLID_COLOR) + { + new_mode.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; + new_mode.color_mode = MODE_COLORS_MODE_SPECIFIC; + new_mode.colors_min = 1; + new_mode.colors_max = 1; + new_mode.colors.resize(1); + } + + if(vialrgb_modes[controller->GetEffect(effect_idx)].has_speed) + { + new_mode.flags |= MODE_FLAG_HAS_SPEED; + new_mode.speed_min = 0; + new_mode.speed_max = 255; + new_mode.speed = 128; + } + + modes.push_back(new_mode); + } + + /*-----------------------------------------------------*\ + | Read current mode | + \*-----------------------------------------------------*/ + unsigned short cur_mode; + unsigned char cur_speed; + unsigned char cur_hue; + unsigned char cur_sat; + unsigned char cur_val; + + controller->GetMode(&cur_mode, &cur_speed, &cur_hue, &cur_sat, &cur_val); + + active_mode = cur_mode; + + if(modes[active_mode].flags & MODE_FLAG_HAS_SPEED) + { + modes[active_mode].speed = cur_speed; + } + + if(modes[active_mode].color_mode == MODE_COLORS_MODE_SPECIFIC) + { + hsv_t hsv_color; + hsv_color.hue = ((float)cur_hue * (360.0f / 256.0f)); + hsv_color.saturation = cur_sat; + hsv_color.value = cur_val; + + RGBColor rgb_color = hsv2rgb(&hsv_color); + modes[active_mode].colors[0] = rgb_color; + } + + SetupZones(); +} + +RGBController_QMKVialRGB::~RGBController_QMKVialRGB() +{ + delete controller; +} + +void RGBController_QMKVialRGB::SetupZones() +{ + /*-----------------------------------------------------*\ + | Build matrix map | + \*-----------------------------------------------------*/ + unsigned char max_col = 0; + unsigned char max_row = 0; + + for(unsigned short led_index = 0; led_index < controller->GetLEDCount(); led_index++) + { + vialrgb_led_info info = controller->GetLEDInfo(led_index); + + if(info.col > max_col) + { + max_col = info.col; + } + + if(info.row > max_row) + { + max_row = info.row; + } + } + + unsigned char height = max_row + 1; + unsigned char width = max_col + 1; + + unsigned int* matrix_map = new unsigned int[width * height]; + + memset(matrix_map, 0xFF, (sizeof(unsigned int) * (width * height))); + + for(unsigned short led_index = 0; led_index < controller->GetLEDCount(); led_index++) + { + vialrgb_led_info info = controller->GetLEDInfo(led_index); + + matrix_map[(width * info.row) + info.col] = (unsigned int)led_index; + } + + /*-----------------------------------------------------*\ + | Create keyboard zone | + \*-----------------------------------------------------*/ + zone keyboard; + + keyboard.name = "Keyboard"; + keyboard.type = ZONE_TYPE_MATRIX; + keyboard.leds_min = controller->GetLEDCount(); + keyboard.leds_max = controller->GetLEDCount(); + keyboard.leds_count = controller->GetLEDCount(); + keyboard.matrix_map = new matrix_map_type; + keyboard.matrix_map->height = height; + keyboard.matrix_map->width = width; + keyboard.matrix_map->map = matrix_map; + + zones.push_back(keyboard); + + /*-----------------------------------------------------*\ + | Create keyboard LEDs | + \*-----------------------------------------------------*/ + for(unsigned short led_idx = 0; led_idx < controller->GetLEDCount(); led_idx++) + { + led new_led; + new_led.name = qmk_keynames[controller->GetKeycode(led_idx)]; + + leds.push_back(new_led); + } + + SetupColors(); +} + +void RGBController_QMKVialRGB::ResizeZone(int zone, int new_size) +{ + +} + +void RGBController_QMKVialRGB::DeviceUpdateLEDs() +{ + controller->SendLEDs(colors.size(), colors.data()); +} + +void RGBController_QMKVialRGB::UpdateZoneLEDs(int /*zone*/) +{ + DeviceUpdateLEDs(); +} + +void RGBController_QMKVialRGB::UpdateSingleLED(int /*led*/) +{ + DeviceUpdateLEDs(); +} + +void RGBController_QMKVialRGB::DeviceUpdateMode() +{ + unsigned char hue = 0; + unsigned char sat = 0; + unsigned char val = 0; + + if(modes[active_mode].color_mode == MODE_COLORS_MODE_SPECIFIC) + { + hsv_t hsv_color; + rgb2hsv(modes[active_mode].colors[0], &hsv_color); + + hue = (unsigned char)((float)hsv_color.hue * (256.0f / 360.0f)); + sat = hsv_color.saturation; + val = hsv_color.value; + } + controller->SetMode(modes[active_mode].value, modes[active_mode].speed, hue, sat, val); +} diff --git a/Controllers/QMKVialRGBController/RGBController_QMKVialRGB.h b/Controllers/QMKController/QMKVialRGBController/RGBController_QMKVialRGB.h similarity index 100% rename from Controllers/QMKVialRGBController/RGBController_QMKVialRGB.h rename to Controllers/QMKController/QMKVialRGBController/RGBController_QMKVialRGB.h diff --git a/Controllers/QMKVialRGBController/RGBController_QMKVialRGB.cpp b/Controllers/QMKVialRGBController/RGBController_QMKVialRGB.cpp deleted file mode 100644 index 142cf5d32..000000000 --- a/Controllers/QMKVialRGBController/RGBController_QMKVialRGB.cpp +++ /dev/null @@ -1,575 +0,0 @@ -/*---------------------------------------------------------*\ -| RGBController_QMKVialRGB.cpp | -| | -| RGBController for VialRGB QMK Keyboard Protocol | -| | -| Adam Honse -#include "hsv.h" -#include "RGBController_QMKVialRGB.h" -#include "RGBControllerKeyNames.h" - -typedef struct -{ - unsigned short value; - std::string name; - bool has_speed; -} vialrgb_mode; - -static const vialrgb_mode vialrgb_modes[] = -{ - { VIALRGB_EFFECT_OFF, "Off", false }, - { VIALRGB_EFFECT_DIRECT, "Direct", false }, - { VIALRGB_EFFECT_SOLID_COLOR, "Static", false }, - { VIALRGB_EFFECT_ALPHAS_MODS, "Alphas Mods", true }, - { VIALRGB_EFFECT_GRADIENT_UP_DOWN, "Gradient Up Down", true }, - { VIALRGB_EFFECT_GRADIENT_LEFT_RIGHT, "Gradient Left Right", true }, - { VIALRGB_EFFECT_BREATHING, "Breathing", true }, - { VIALRGB_EFFECT_BAND_SAT, "Band Sat", true }, - { VIALRGB_EFFECT_BAND_VAL, "Band Val", true }, - { VIALRGB_EFFECT_BAND_PINWHEEL_SAT, "Band Pinwheel Sat", true }, - { VIALRGB_EFFECT_BAND_PINWHEEL_VAL, "Band Pinwheel Val", true }, - { VIALRGB_EFFECT_BAND_SPIRAL_SAT, "Band Spiral Sat", true }, - { VIALRGB_EFFECT_BAND_SPIRAL_VAL, "Band Spiral Val", true }, - { VIALRGB_EFFECT_CYCLE_ALL, "Cycle All", true }, - { VIALRGB_EFFECT_CYCLE_LEFT_RIGHT, "Cycle Left Right", true }, - { VIALRGB_EFFECT_CYCLE_UP_DOWN, "Cycle Up Down", true }, - { VIALRGB_EFFECT_RAINBOW_MOVING_CHEVRON, "Rainbow Moving Chevron", true }, - { VIALRGB_EFFECT_CYCLE_OUT_IN, "Cycle Out In", true }, - { VIALRGB_EFFECT_CYCLE_OUT_IN_DUAL, "Cycle Out In Dual", true }, - { VIALRGB_EFFECT_CYCLE_PINWHEEL, "Cycle Pinwheel", true }, - { VIALRGB_EFFECT_CYCLE_SPIRAL, "Cycle Spiral", true }, - { VIALRGB_EFFECT_DUAL_BEACON, "Dual Beacon", true }, - { VIALRGB_EFFECT_RAINBOW_BEACON, "Rainbow Beacon", true }, - { VIALRGB_EFFECT_RAINBOW_PINWHEELS, "Rainbow Pinwheels", true }, - { VIALRGB_EFFECT_RAINDROPS, "Raindrops", true }, - { VIALRGB_EFFECT_JELLYBEAN_RAINDROPS, "Jellybean Raindrops", true }, - { VIALRGB_EFFECT_HUE_BREATHING, "Hue Breathing", true }, - { VIALRGB_EFFECT_HUE_PENDULUM, "Hue Pendulum", true }, - { VIALRGB_EFFECT_HUE_WAVE, "Hue Wave", true }, - { VIALRGB_EFFECT_TYPING_HEATMAP, "Typing Heatmap", true }, - { VIALRGB_EFFECT_DIGITAL_RAIN, "Digital Rain", true }, - { VIALRGB_EFFECT_SOLID_REACTIVE_SIMPLE, "Solid Reactive Simple", true }, - { VIALRGB_EFFECT_SOLID_REACTIVE, "Solid Reactive", true }, - { VIALRGB_EFFECT_SOLID_REACTIVE_WIDE, "Solid Reactive Wide", true }, - { VIALRGB_EFFECT_SOLID_REACTIVE_MULTIWIDE, "Solid Reactive Multiwide", true }, - { VIALRGB_EFFECT_SOLID_REACTIVE_CROSS, "Solid Reactive Cross", true }, - { VIALRGB_EFFECT_SOLID_REACTIVE_MULTICROSS, "Solid Reactive Multicross", true }, - { VIALRGB_EFFECT_SOLID_REACTIVE_NEXUS, "Solid Reactive Nexus", true }, - { VIALRGB_EFFECT_SOLID_REACTIVE_MULTINEXUS, "Solid Reactive Multinexus", true }, - { VIALRGB_EFFECT_SPLASH, "Splash", true }, - { VIALRGB_EFFECT_MULTISPLASH, "Multisplash", true }, - { VIALRGB_EFFECT_SOLID_SPLASH, "Solid Splash", true }, - { VIALRGB_EFFECT_SOLID_MULTISPLASH, "Solid Multisplash", true }, - { VIALRGB_EFFECT_PIXEL_RAIN, "Pixel Rain", true }, - { VIALRGB_EFFECT_PIXEL_FRACTAL, "Pixel Fractal", true }, -}; - -enum -{ - KC_NO = 0x0000, - KC_TRANSPARENT = 0x0001, - KC_A = 0x0004, - KC_B = 0x0005, - KC_C = 0x0006, - KC_D = 0x0007, - KC_E = 0x0008, - KC_F = 0x0009, - KC_G = 0x000A, - KC_H = 0x000B, - KC_I = 0x000C, - KC_J = 0x000D, - KC_K = 0x000E, - KC_L = 0x000F, - KC_M = 0x0010, - KC_N = 0x0011, - KC_O = 0x0012, - KC_P = 0x0013, - KC_Q = 0x0014, - KC_R = 0x0015, - KC_S = 0x0016, - KC_T = 0x0017, - KC_U = 0x0018, - KC_V = 0x0019, - KC_W = 0x001A, - KC_X = 0x001B, - KC_Y = 0x001C, - KC_Z = 0x001D, - KC_1 = 0x001E, - KC_2 = 0x001F, - KC_3 = 0x0020, - KC_4 = 0x0021, - KC_5 = 0x0022, - KC_6 = 0x0023, - KC_7 = 0x0024, - KC_8 = 0x0025, - KC_9 = 0x0026, - KC_0 = 0x0027, - KC_ENTER = 0x0028, - KC_ESCAPE = 0x0029, - KC_BACKSPACE = 0x002A, - KC_TAB = 0x002B, - KC_SPACE = 0x002C, - KC_MINUS = 0x002D, - KC_EQUAL = 0x002E, - KC_LEFT_BRACKET = 0x002F, - KC_RIGHT_BRACKET = 0x0030, - KC_BACKSLASH = 0x0031, - KC_NONUS_HASH = 0x0032, - KC_SEMICOLON = 0x0033, - KC_QUOTE = 0x0034, - KC_GRAVE = 0x0035, - KC_COMMA = 0x0036, - KC_DOT = 0x0037, - KC_SLASH = 0x0038, - KC_CAPS_LOCK = 0x0039, - KC_F1 = 0x003A, - KC_F2 = 0x003B, - KC_F3 = 0x003C, - KC_F4 = 0x003D, - KC_F5 = 0x003E, - KC_F6 = 0x003F, - KC_F7 = 0x0040, - KC_F8 = 0x0041, - KC_F9 = 0x0042, - KC_F10 = 0x0043, - KC_F11 = 0x0044, - KC_F12 = 0x0045, - KC_PRINT_SCREEN = 0x0046, - KC_SCROLL_LOCK = 0x0047, - KC_PAUSE = 0x0048, - KC_INSERT = 0x0049, - KC_HOME = 0x004A, - KC_PAGE_UP = 0x004B, - KC_DELETE = 0x004C, - KC_END = 0x004D, - KC_PAGE_DOWN = 0x004E, - KC_RIGHT = 0x004F, - KC_LEFT = 0x0050, - KC_DOWN = 0x0051, - KC_UP = 0x0052, - KC_NUM_LOCK = 0x0053, - KC_KP_SLASH = 0x0054, - KC_KP_ASTERISK = 0x0055, - KC_KP_MINUS = 0x0056, - KC_KP_PLUS = 0x0057, - KC_KP_ENTER = 0x0058, - KC_KP_1 = 0x0059, - KC_KP_2 = 0x005A, - KC_KP_3 = 0x005B, - KC_KP_4 = 0x005C, - KC_KP_5 = 0x005D, - KC_KP_6 = 0x005E, - KC_KP_7 = 0x005F, - KC_KP_8 = 0x0060, - KC_KP_9 = 0x0061, - KC_KP_0 = 0x0062, - KC_KP_DOT = 0x0063, - KC_NONUS_BACKSLASH = 0x0064, - KC_APPLICATION = 0x0065, - KC_KB_POWER = 0x0066, - KC_KP_EQUAL = 0x0067, - KC_F13 = 0x0068, - KC_F14 = 0x0069, - KC_F15 = 0x006A, - KC_F16 = 0x006B, - KC_F17 = 0x006C, - KC_F18 = 0x006D, - KC_F19 = 0x006E, - KC_F20 = 0x006F, - KC_F21 = 0x0070, - KC_F22 = 0x0071, - KC_F23 = 0x0072, - KC_F24 = 0x0073, - KC_EXECUTE = 0x0074, - KC_HELP = 0x0075, - KC_MENU = 0x0076, - KC_SELECT = 0x0077, - KC_STOP = 0x0078, - KC_AGAIN = 0x0079, - KC_UNDO = 0x007A, - KC_CUT = 0x007B, - KC_COPY = 0x007C, - KC_PASTE = 0x007D, - KC_FIND = 0x007E, - KC_KB_MUTE = 0x007F, - KC_KB_VOLUME_UP = 0x0080, - KC_KB_VOLUME_DOWN = 0x0081, - KC_LOCKING_CAPS_LOCK = 0x0082, - KC_LOCKING_NUM_LOCK = 0x0083, - KC_LOCKING_SCROLL_LOCK = 0x0084, - KC_KP_COMMA = 0x0085, - KC_KP_EQUAL_AS400 = 0x0086, - KC_INTERNATIONAL_1 = 0x0087, - KC_INTERNATIONAL_2 = 0x0088, - KC_INTERNATIONAL_3 = 0x0089, - KC_INTERNATIONAL_4 = 0x008A, - KC_INTERNATIONAL_5 = 0x008B, - KC_INTERNATIONAL_6 = 0x008C, - KC_INTERNATIONAL_7 = 0x008D, - KC_INTERNATIONAL_8 = 0x008E, - KC_INTERNATIONAL_9 = 0x008F, - KC_LANGUAGE_1 = 0x0090, - KC_LANGUAGE_2 = 0x0091, - KC_LANGUAGE_3 = 0x0092, - KC_LANGUAGE_4 = 0x0093, - KC_LANGUAGE_5 = 0x0094, - KC_LANGUAGE_6 = 0x0095, - KC_LANGUAGE_7 = 0x0096, - KC_LANGUAGE_8 = 0x0097, - KC_LANGUAGE_9 = 0x0098, - KC_ALTERNATE_ERASE = 0x0099, - KC_SYSTEM_REQUEST = 0x009A, - KC_CANCEL = 0x009B, - KC_CLEAR = 0x009C, - KC_PRIOR = 0x009D, - KC_RETURN = 0x009E, - KC_SEPARATOR = 0x009F, - KC_OUT = 0x00A0, - KC_OPER = 0x00A1, - KC_CLEAR_AGAIN = 0x00A2, - KC_CRSEL = 0x00A3, - KC_EXSEL = 0x00A4, - KC_SYSTEM_POWER = 0x00A5, - KC_SYSTEM_SLEEP = 0x00A6, - KC_SYSTEM_WAKE = 0x00A7, - KC_AUDIO_MUTE = 0x00A8, - KC_AUDIO_VOL_UP = 0x00A9, - KC_AUDIO_VOL_DOWN = 0x00AA, - KC_MEDIA_NEXT_TRACK = 0x00AB, - KC_MEDIA_PREV_TRACK = 0x00AC, - KC_MEDIA_STOP = 0x00AD, - KC_MEDIA_PLAY_PAUSE = 0x00AE, - KC_MEDIA_SELECT = 0x00AF, - KC_MEDIA_EJECT = 0x00B0, - KC_MAIL = 0x00B1, - KC_CALCULATOR = 0x00B2, - KC_MY_COMPUTER = 0x00B3, - KC_WWW_SEARCH = 0x00B4, - KC_WWW_HOME = 0x00B5, - KC_WWW_BACK = 0x00B6, - KC_WWW_FORWARD = 0x00B7, - KC_WWW_STOP = 0x00B8, - KC_WWW_REFRESH = 0x00B9, - KC_WWW_FAVORITES = 0x00BA, - KC_MEDIA_FAST_FORWARD = 0x00BB, - KC_MEDIA_REWIND = 0x00BC, - KC_BRIGHTNESS_UP = 0x00BD, - KC_BRIGHTNESS_DOWN = 0x00BE, - KC_CONTROL_PANEL = 0x00BF, - KC_ASSISTANT = 0x00C0, - KC_MISSION_CONTROL = 0x00C1, - KC_LAUNCHPAD = 0x00C2, - KC_LEFT_CTRL = 0x00E0, - KC_LEFT_SHIFT = 0x00E1, - KC_LEFT_ALT = 0x00E2, - KC_LEFT_GUI = 0x00E3, - KC_RIGHT_CTRL = 0x00E4, - KC_RIGHT_SHIFT = 0x00E5, - KC_RIGHT_ALT = 0x00E6, - KC_RIGHT_GUI = 0x00E7, -}; - -static std::map vialrgb_keynames = -{ - { KC_NO, "" }, - { KC_TRANSPARENT, "" }, - { KC_A, KEY_EN_A }, - { KC_B, KEY_EN_B }, - { KC_C, KEY_EN_C }, - { KC_D, KEY_EN_D }, - { KC_E, KEY_EN_E }, - { KC_F, KEY_EN_F }, - { KC_G, KEY_EN_G }, - { KC_H, KEY_EN_H }, - { KC_I, KEY_EN_I }, - { KC_J, KEY_EN_J }, - { KC_K, KEY_EN_K }, - { KC_L, KEY_EN_L }, - { KC_M, KEY_EN_M }, - { KC_N, KEY_EN_N }, - { KC_O, KEY_EN_O }, - { KC_P, KEY_EN_P }, - { KC_Q, KEY_EN_Q }, - { KC_R, KEY_EN_R }, - { KC_S, KEY_EN_S }, - { KC_T, KEY_EN_T }, - { KC_U, KEY_EN_U }, - { KC_V, KEY_EN_V }, - { KC_W, KEY_EN_W }, - { KC_X, KEY_EN_X }, - { KC_Y, KEY_EN_Y }, - { KC_Z, KEY_EN_Z }, - { KC_1, KEY_EN_1 }, - { KC_2, KEY_EN_2 }, - { KC_3, KEY_EN_3 }, - { KC_4, KEY_EN_4 }, - { KC_5, KEY_EN_5 }, - { KC_6, KEY_EN_6 }, - { KC_7, KEY_EN_7 }, - { KC_8, KEY_EN_8 }, - { KC_9, KEY_EN_9 }, - { KC_0, KEY_EN_0 }, - { KC_ENTER, KEY_EN_ANSI_ENTER }, - { KC_ESCAPE, KEY_EN_ESCAPE }, - { KC_BACKSPACE, KEY_EN_BACKSPACE }, - { KC_TAB, KEY_EN_TAB }, - { KC_SPACE, KEY_EN_SPACE }, - { KC_MINUS, KEY_EN_MINUS }, - { KC_EQUAL, KEY_EN_EQUALS }, - { KC_LEFT_BRACKET, KEY_EN_LEFT_BRACKET }, - { KC_RIGHT_BRACKET, KEY_EN_RIGHT_BRACKET }, - { KC_BACKSLASH, KEY_EN_BACK_SLASH }, - { KC_NONUS_HASH, KEY_EN_POUND }, - { KC_SEMICOLON, KEY_EN_SEMICOLON }, - { KC_QUOTE, KEY_EN_QUOTE }, - { KC_GRAVE, KEY_EN_BACK_TICK }, - { KC_COMMA, KEY_EN_COMMA }, - { KC_DOT, KEY_EN_PERIOD }, - { KC_SLASH, KEY_EN_FORWARD_SLASH }, - { KC_CAPS_LOCK, KEY_EN_CAPS_LOCK }, - { KC_F1, KEY_EN_F1 }, - { KC_F2, KEY_EN_F2 }, - { KC_F3, KEY_EN_F3 }, - { KC_F4, KEY_EN_F4 }, - { KC_F5, KEY_EN_F5 }, - { KC_F6, KEY_EN_F6 }, - { KC_F7, KEY_EN_F7 }, - { KC_F8, KEY_EN_F8 }, - { KC_F9, KEY_EN_F9 }, - { KC_F10, KEY_EN_F10 }, - { KC_F11, KEY_EN_F11 }, - { KC_F12, KEY_EN_F12 }, - { KC_PRINT_SCREEN, KEY_EN_PRINT_SCREEN }, - { KC_SCROLL_LOCK, KEY_EN_SCROLL_LOCK }, - { KC_PAUSE, KEY_EN_PAUSE_BREAK }, - { KC_INSERT, KEY_EN_INSERT }, - { KC_HOME, KEY_EN_HOME }, - { KC_PAGE_UP, KEY_EN_PAGE_UP }, - { KC_DELETE, KEY_EN_DELETE }, - { KC_END, KEY_EN_END }, - { KC_PAGE_DOWN, KEY_EN_PAGE_DOWN }, - { KC_RIGHT, KEY_EN_RIGHT_ARROW }, - { KC_LEFT, KEY_EN_LEFT_ARROW }, - { KC_DOWN, KEY_EN_DOWN_ARROW }, - { KC_UP, KEY_EN_UP_ARROW }, - { KC_NUM_LOCK, KEY_EN_NUMPAD_LOCK }, - { KC_KP_SLASH, KEY_EN_NUMPAD_DIVIDE }, - { KC_KP_ASTERISK, KEY_EN_NUMPAD_TIMES }, - { KC_KP_MINUS, KEY_EN_NUMPAD_MINUS }, - { KC_KP_PLUS, KEY_EN_NUMPAD_PLUS }, - { KC_KP_ENTER, KEY_EN_NUMPAD_ENTER }, - { KC_KP_1, KEY_EN_NUMPAD_1 }, - { KC_KP_2, KEY_EN_NUMPAD_2 }, - { KC_KP_3, KEY_EN_NUMPAD_3 }, - { KC_KP_4, KEY_EN_NUMPAD_4 }, - { KC_KP_5, KEY_EN_NUMPAD_5 }, - { KC_KP_6, KEY_EN_NUMPAD_6 }, - { KC_KP_7, KEY_EN_NUMPAD_7 }, - { KC_KP_8, KEY_EN_NUMPAD_8 }, - { KC_KP_9, KEY_EN_NUMPAD_9 }, - { KC_KP_0, KEY_EN_NUMPAD_0 }, - { KC_KP_DOT, KEY_EN_NUMPAD_PERIOD }, - { KC_LEFT_CTRL, KEY_EN_LEFT_CONTROL }, - { KC_LEFT_SHIFT, KEY_EN_LEFT_SHIFT }, - { KC_LEFT_ALT, KEY_EN_LEFT_ALT }, - { KC_LEFT_GUI, KEY_EN_LEFT_WINDOWS }, - { KC_RIGHT_CTRL, KEY_EN_RIGHT_CONTROL }, - { KC_RIGHT_SHIFT, KEY_EN_RIGHT_SHIFT }, - { KC_RIGHT_ALT, KEY_EN_RIGHT_ALT }, - { KC_RIGHT_GUI, KEY_EN_RIGHT_WINDOWS }, -}; - -RGBController_QMKVialRGB::RGBController_QMKVialRGB(QMKVialRGBController* controller_ptr) -{ - controller = controller_ptr; - name = controller->GetName(); - description = "QMK VialRGB Device"; - vendor = controller->GetVendor(); - location = controller->GetLocation(); - serial = controller->GetSerial(); - version = controller->GetVersion(); - type = DEVICE_TYPE_KEYBOARD; - - /*-----------------------------------------------------*\ - | Read mode list | - \*-----------------------------------------------------*/ - for(std::size_t effect_idx = 0; effect_idx < controller->GetEffectCount(); effect_idx++) - { - mode new_mode; - new_mode.name = vialrgb_modes[controller->GetEffect(effect_idx)].name; - new_mode.value = vialrgb_modes[controller->GetEffect(effect_idx)].value; - - if(new_mode.value == VIALRGB_EFFECT_DIRECT) - { - new_mode.flags = MODE_FLAG_HAS_PER_LED_COLOR; - new_mode.color_mode = MODE_COLORS_PER_LED; - } - - if(new_mode.value >= VIALRGB_EFFECT_SOLID_COLOR) - { - new_mode.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; - new_mode.color_mode = MODE_COLORS_MODE_SPECIFIC; - new_mode.colors_min = 1; - new_mode.colors_max = 1; - new_mode.colors.resize(1); - } - - if(vialrgb_modes[controller->GetEffect(effect_idx)].has_speed) - { - new_mode.flags |= MODE_FLAG_HAS_SPEED; - new_mode.speed_min = 0; - new_mode.speed_max = 255; - new_mode.speed = 128; - } - - modes.push_back(new_mode); - } - - /*-----------------------------------------------------*\ - | Read current mode | - \*-----------------------------------------------------*/ - unsigned short cur_mode; - unsigned char cur_speed; - unsigned char cur_hue; - unsigned char cur_sat; - unsigned char cur_val; - - controller->GetMode(&cur_mode, &cur_speed, &cur_hue, &cur_sat, &cur_val); - - active_mode = cur_mode; - - if(modes[active_mode].flags & MODE_FLAG_HAS_SPEED) - { - modes[active_mode].speed = cur_speed; - } - - if(modes[active_mode].color_mode == MODE_COLORS_MODE_SPECIFIC) - { - hsv_t hsv_color; - hsv_color.hue = ((float)cur_hue * (360.0f / 256.0f)); - hsv_color.saturation = cur_sat; - hsv_color.value = cur_val; - - RGBColor rgb_color = hsv2rgb(&hsv_color); - modes[active_mode].colors[0] = rgb_color; - } - - SetupZones(); -} - -RGBController_QMKVialRGB::~RGBController_QMKVialRGB() -{ - delete controller; -} - -void RGBController_QMKVialRGB::SetupZones() -{ - /*-----------------------------------------------------*\ - | Build matrix map | - \*-----------------------------------------------------*/ - unsigned char max_col = 0; - unsigned char max_row = 0; - - for(unsigned short led_index = 0; led_index < controller->GetLEDCount(); led_index++) - { - vialrgb_led_info info = controller->GetLEDInfo(led_index); - - if(info.col > max_col) - { - max_col = info.col; - } - - if(info.row > max_row) - { - max_row = info.row; - } - } - - unsigned char height = max_row + 1; - unsigned char width = max_col + 1; - - unsigned int* matrix_map = new unsigned int[width * height]; - - memset(matrix_map, 0xFF, (sizeof(unsigned int) * (width * height))); - - for(unsigned short led_index = 0; led_index < controller->GetLEDCount(); led_index++) - { - vialrgb_led_info info = controller->GetLEDInfo(led_index); - - matrix_map[(width * info.row) + info.col] = (unsigned int)led_index; - } - - /*-----------------------------------------------------*\ - | Create keyboard zone | - \*-----------------------------------------------------*/ - zone keyboard; - - keyboard.name = "Keyboard"; - keyboard.type = ZONE_TYPE_MATRIX; - keyboard.leds_min = controller->GetLEDCount(); - keyboard.leds_max = controller->GetLEDCount(); - keyboard.leds_count = controller->GetLEDCount(); - keyboard.matrix_map = new matrix_map_type; - keyboard.matrix_map->height = height; - keyboard.matrix_map->width = width; - keyboard.matrix_map->map = matrix_map; - - zones.push_back(keyboard); - - /*-----------------------------------------------------*\ - | Create keyboard LEDs | - \*-----------------------------------------------------*/ - for(unsigned short led_idx = 0; led_idx < controller->GetLEDCount(); led_idx++) - { - led new_led; - new_led.name = vialrgb_keynames[controller->GetKeycode(led_idx)]; - - leds.push_back(new_led); - } - - SetupColors(); -} - -void RGBController_QMKVialRGB::ResizeZone(int zone, int new_size) -{ - -} - -void RGBController_QMKVialRGB::DeviceUpdateLEDs() -{ - controller->SendLEDs(colors.size(), colors.data()); -} - -void RGBController_QMKVialRGB::UpdateZoneLEDs(int /*zone*/) -{ - DeviceUpdateLEDs(); -} - -void RGBController_QMKVialRGB::UpdateSingleLED(int /*led*/) -{ - DeviceUpdateLEDs(); -} - -void RGBController_QMKVialRGB::DeviceUpdateMode() -{ - unsigned char hue = 0; - unsigned char sat = 0; - unsigned char val = 0; - - if(modes[active_mode].color_mode == MODE_COLORS_MODE_SPECIFIC) - { - hsv_t hsv_color; - rgb2hsv(modes[active_mode].colors[0], &hsv_color); - - hue = (unsigned char)((float)hsv_color.hue * (256.0f / 360.0f)); - sat = hsv_color.saturation; - val = hsv_color.value; - } - controller->SetMode(modes[active_mode].value, modes[active_mode].speed, hue, sat, val); -}