diff --git a/Controllers/RazerController/RazerDevices.cpp b/Controllers/RazerController/RazerDevices.cpp index f1b18fac..9c10edf4 100644 --- a/Controllers/RazerController/RazerDevices.cpp +++ b/Controllers/RazerController/RazerDevices.cpp @@ -667,6 +667,29 @@ keyboard_keymap_overlay_values razer_deathstalker_v2_pro_layout } }; +keyboard_keymap_overlay_values razer_huntsman_layout +{ + KEYBOARD_SIZE::KEYBOARD_SIZE_FULL, + { + { /* ANSI Value set not used */ }, + { + /* Add more regional layout fixes here */ + } + }, + { + /*---------------------------------------------------------------------------------------------------------*\ + | Edit Keys | + | Zone, Row, Column, Value, Key, OpCode, | + \*---------------------------------------------------------------------------------------------------------*/ + { 0, 0, 0, 0, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Move 'Esc' 1 right (Shifts row) + { 0, 1, 0, 0, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Shifts row 1 + { 0, 2, 0, 0, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Shifts row 2 + { 0, 3, 0, 0, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Shifts row 3 + { 0, 4, 0, 0, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Shifts row 4 + { 0, 5, 0, 0, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Shifts row 5 + } +}; + keyboard_keymap_overlay_values razer_huntsman_common_layout { KEYBOARD_SIZE::KEYBOARD_SIZE_FULL, @@ -781,121 +804,6 @@ keyboard_keymap_overlay_values razer_laptop_with_spacebar_layout /*-------------------------------------------------------------------------*\ | OLD_KEYMAPS | \*-------------------------------------------------------------------------*/ -#define HUNTSMAN_KEYMAP_SIZE (sizeof(huntsman_keymap) / sizeof(huntsman_keymap[0])) - -static const razer_key huntsman_keymap[] = -{ - /*-------------------------------------------------------------------------------------------------------------*\ - | Zone, Row, Column, Key Layout Type | - \*-------------------------------------------------------------------------------------------------------------*/ - { 0, 0, 1, KEY_EN_ESCAPE, RAZER_LAYOUT_TYPE_ALL }, - { 0, 0, 3, KEY_EN_F1, RAZER_LAYOUT_TYPE_ALL }, - { 0, 0, 4, KEY_EN_F2, RAZER_LAYOUT_TYPE_ALL }, - { 0, 0, 5, KEY_EN_F3, RAZER_LAYOUT_TYPE_ALL }, - { 0, 0, 6, KEY_EN_F4, RAZER_LAYOUT_TYPE_ALL }, - { 0, 0, 7, KEY_EN_F5, RAZER_LAYOUT_TYPE_ALL }, - { 0, 0, 8, KEY_EN_F6, RAZER_LAYOUT_TYPE_ALL }, - { 0, 0, 9, KEY_EN_F7, RAZER_LAYOUT_TYPE_ALL }, - { 0, 0, 10, KEY_EN_F8, RAZER_LAYOUT_TYPE_ALL }, - { 0, 0, 11, KEY_EN_F9, RAZER_LAYOUT_TYPE_ALL }, - { 0, 0, 12, KEY_EN_F10, RAZER_LAYOUT_TYPE_ALL }, - { 0, 0, 13, KEY_EN_F11, RAZER_LAYOUT_TYPE_ALL }, - { 0, 0, 14, KEY_EN_F12, RAZER_LAYOUT_TYPE_ALL }, - { 0, 0, 15, KEY_EN_PRINT_SCREEN, RAZER_LAYOUT_TYPE_ALL }, - { 0, 0, 16, KEY_EN_SCROLL_LOCK, RAZER_LAYOUT_TYPE_ALL }, - { 0, 0, 17, KEY_EN_PAUSE_BREAK, RAZER_LAYOUT_TYPE_ALL }, - { 0, 1, 1, KEY_EN_BACK_TICK, RAZER_LAYOUT_TYPE_ALL }, - { 0, 1, 2, KEY_EN_1, RAZER_LAYOUT_TYPE_ALL }, - { 0, 1, 3, KEY_EN_2, RAZER_LAYOUT_TYPE_ALL }, - { 0, 1, 4, KEY_EN_3, RAZER_LAYOUT_TYPE_ALL }, - { 0, 1, 5, KEY_EN_4, RAZER_LAYOUT_TYPE_ALL }, - { 0, 1, 6, KEY_EN_5, RAZER_LAYOUT_TYPE_ALL }, - { 0, 1, 7, KEY_EN_6, RAZER_LAYOUT_TYPE_ALL }, - { 0, 1, 8, KEY_EN_7, RAZER_LAYOUT_TYPE_ALL }, - { 0, 1, 9, KEY_EN_8, RAZER_LAYOUT_TYPE_ALL }, - { 0, 1, 10, KEY_EN_9, RAZER_LAYOUT_TYPE_ALL }, - { 0, 1, 11, KEY_EN_0, RAZER_LAYOUT_TYPE_ALL }, - { 0, 1, 12, KEY_EN_MINUS, RAZER_LAYOUT_TYPE_ALL }, - { 0, 1, 13, KEY_EN_EQUALS, RAZER_LAYOUT_TYPE_ALL }, - { 0, 1, 14, KEY_EN_EQUALS, RAZER_LAYOUT_TYPE_ALL }, - { 0, 1, 15, KEY_EN_INSERT, RAZER_LAYOUT_TYPE_ALL }, - { 0, 1, 16, KEY_EN_HOME, RAZER_LAYOUT_TYPE_ALL }, - { 0, 1, 17, KEY_EN_PAGE_UP, RAZER_LAYOUT_TYPE_ALL }, - { 0, 1, 18, KEY_EN_NUMPAD_LOCK, RAZER_LAYOUT_TYPE_ALL }, - { 0, 1, 19, KEY_EN_NUMPAD_DIVIDE, RAZER_LAYOUT_TYPE_ALL }, - { 0, 1, 20, KEY_EN_NUMPAD_TIMES, RAZER_LAYOUT_TYPE_ALL }, - { 0, 1, 21, KEY_EN_NUMPAD_MINUS, RAZER_LAYOUT_TYPE_ALL }, - { 0, 2, 1, KEY_EN_TAB, RAZER_LAYOUT_TYPE_ALL }, - { 0, 2, 2, KEY_EN_Q, RAZER_LAYOUT_TYPE_ALL }, - { 0, 2, 3, KEY_EN_W, RAZER_LAYOUT_TYPE_ALL }, - { 0, 2, 4, KEY_EN_E, RAZER_LAYOUT_TYPE_ALL }, - { 0, 2, 5, KEY_EN_R, RAZER_LAYOUT_TYPE_ALL }, - { 0, 2, 6, KEY_EN_T, RAZER_LAYOUT_TYPE_ALL }, - { 0, 2, 7, KEY_EN_Y, RAZER_LAYOUT_TYPE_ALL }, - { 0, 2, 8, KEY_EN_U, RAZER_LAYOUT_TYPE_ALL }, - { 0, 2, 9, KEY_EN_I, RAZER_LAYOUT_TYPE_ALL }, - { 0, 2, 10, KEY_EN_O, RAZER_LAYOUT_TYPE_ALL }, - { 0, 2, 11, KEY_EN_P, RAZER_LAYOUT_TYPE_ALL }, - { 0, 2, 12, KEY_EN_LEFT_BRACKET, RAZER_LAYOUT_TYPE_ALL }, - { 0, 2, 13, KEY_EN_RIGHT_BRACKET, RAZER_LAYOUT_TYPE_ALL }, - { 0, 2, 14, KEY_EN_ANSI_BACK_SLASH, RAZER_LAYOUT_TYPE_ANSI }, - { 0, 2, 15, KEY_EN_DELETE, RAZER_LAYOUT_TYPE_ALL }, - { 0, 2, 16, KEY_EN_END, RAZER_LAYOUT_TYPE_ALL }, - { 0, 2, 17, KEY_EN_PAGE_DOWN, RAZER_LAYOUT_TYPE_ALL }, - { 0, 2, 18, KEY_EN_NUMPAD_7, RAZER_LAYOUT_TYPE_ALL }, - { 0, 2, 19, KEY_EN_NUMPAD_8, RAZER_LAYOUT_TYPE_ALL }, - { 0, 2, 20, KEY_EN_NUMPAD_9, RAZER_LAYOUT_TYPE_ALL }, - { 0, 2, 21, KEY_EN_NUMPAD_PLUS, RAZER_LAYOUT_TYPE_ALL }, - { 0, 3, 1, KEY_EN_CAPS_LOCK, RAZER_LAYOUT_TYPE_ALL }, - { 0, 3, 2, KEY_EN_A, RAZER_LAYOUT_TYPE_ALL }, - { 0, 3, 3, KEY_EN_S, RAZER_LAYOUT_TYPE_ALL }, - { 0, 3, 4, KEY_EN_D, RAZER_LAYOUT_TYPE_ALL }, - { 0, 3, 5, KEY_EN_F, RAZER_LAYOUT_TYPE_ALL }, - { 0, 3, 6, KEY_EN_G, RAZER_LAYOUT_TYPE_ALL }, - { 0, 3, 7, KEY_EN_H, RAZER_LAYOUT_TYPE_ALL }, - { 0, 3, 8, KEY_EN_J, RAZER_LAYOUT_TYPE_ALL }, - { 0, 3, 9, KEY_EN_K, RAZER_LAYOUT_TYPE_ALL }, - { 0, 3, 10, KEY_EN_L, RAZER_LAYOUT_TYPE_ALL }, - { 0, 3, 11, KEY_EN_SEMICOLON, RAZER_LAYOUT_TYPE_ALL }, - { 0, 3, 12, KEY_EN_QUOTE, RAZER_LAYOUT_TYPE_ALL }, - { 0, 3, 13, KEY_EN_POUND, RAZER_LAYOUT_TYPE_ISO }, - { 0, 3, 14, KEY_EN_ANSI_ENTER, RAZER_LAYOUT_TYPE_ALL }, - { 0, 3, 18, KEY_EN_NUMPAD_4, RAZER_LAYOUT_TYPE_ALL }, - { 0, 3, 19, KEY_EN_NUMPAD_5, RAZER_LAYOUT_TYPE_ALL }, - { 0, 3, 20, KEY_EN_NUMPAD_6, RAZER_LAYOUT_TYPE_ALL }, - { 0, 4, 1, KEY_EN_LEFT_SHIFT, RAZER_LAYOUT_TYPE_ALL }, - { 0, 4, 2, KEY_EN_ISO_BACK_SLASH, RAZER_LAYOUT_TYPE_ISO | RAZER_LAYOUT_TYPE_JIS }, - { 0, 4, 3, KEY_EN_Z, RAZER_LAYOUT_TYPE_ALL }, - { 0, 4, 4, KEY_EN_X, RAZER_LAYOUT_TYPE_ALL }, - { 0, 4, 5, KEY_EN_C, RAZER_LAYOUT_TYPE_ALL }, - { 0, 4, 6, KEY_EN_V, RAZER_LAYOUT_TYPE_ALL }, - { 0, 4, 7, KEY_EN_B, RAZER_LAYOUT_TYPE_ALL }, - { 0, 4, 8, KEY_EN_N, RAZER_LAYOUT_TYPE_ALL }, - { 0, 4, 9, KEY_EN_M, RAZER_LAYOUT_TYPE_ALL }, - { 0, 4, 10, KEY_EN_COMMA, RAZER_LAYOUT_TYPE_ALL }, - { 0, 4, 11, KEY_EN_PERIOD, RAZER_LAYOUT_TYPE_ALL }, - { 0, 4, 12, KEY_EN_FORWARD_SLASH, RAZER_LAYOUT_TYPE_ALL }, - { 0, 4, 14, KEY_EN_RIGHT_SHIFT, RAZER_LAYOUT_TYPE_ALL }, - { 0, 4, 16, KEY_EN_UP_ARROW, RAZER_LAYOUT_TYPE_ALL }, - { 0, 4, 18, KEY_EN_NUMPAD_1, RAZER_LAYOUT_TYPE_ALL }, - { 0, 4, 19, KEY_EN_NUMPAD_2, RAZER_LAYOUT_TYPE_ALL }, - { 0, 4, 20, KEY_EN_NUMPAD_3, RAZER_LAYOUT_TYPE_ALL }, - { 0, 4, 21, KEY_EN_NUMPAD_ENTER, RAZER_LAYOUT_TYPE_ALL }, - { 0, 5, 1, KEY_EN_LEFT_CONTROL, RAZER_LAYOUT_TYPE_ALL }, - { 0, 5, 2, KEY_EN_LEFT_WINDOWS, RAZER_LAYOUT_TYPE_ALL }, - { 0, 5, 3, KEY_EN_LEFT_ALT, RAZER_LAYOUT_TYPE_ALL }, - { 0, 5, 7, KEY_EN_SPACE, RAZER_LAYOUT_TYPE_ALL }, - { 0, 5, 11, KEY_EN_RIGHT_ALT, RAZER_LAYOUT_TYPE_ALL }, - { 0, 5, 12, KEY_EN_RIGHT_FUNCTION, RAZER_LAYOUT_TYPE_ALL }, - { 0, 5, 13, KEY_EN_MENU, RAZER_LAYOUT_TYPE_ALL }, - { 0, 5, 14, KEY_EN_RIGHT_CONTROL, RAZER_LAYOUT_TYPE_ALL }, - { 0, 5, 15, KEY_EN_LEFT_ARROW, RAZER_LAYOUT_TYPE_ALL }, - { 0, 5, 16, KEY_EN_DOWN_ARROW, RAZER_LAYOUT_TYPE_ALL }, - { 0, 5, 17, KEY_EN_RIGHT_ARROW, RAZER_LAYOUT_TYPE_ALL }, - { 0, 5, 19, KEY_EN_NUMPAD_0, RAZER_LAYOUT_TYPE_ALL }, - { 0, 5, 20, KEY_EN_NUMPAD_PERIOD, RAZER_LAYOUT_TYPE_ALL }, -}; - #define HUNTSMAN_MINI_KEYMAP_SIZE (sizeof(huntsman_mini_keymap) / sizeof(huntsman_mini_keymap[0])) static const razer_key huntsman_mini_keymap[] = @@ -2624,9 +2532,9 @@ static const razer_device huntsman_device = NULL, NULL }, - huntsman_keymap, - HUNTSMAN_KEYMAP_SIZE, - NULL + NULL, + 0, + &razer_huntsman_layout }; /*-------------------------------------------------------------*\