diff --git a/Controllers/RazerController/RazerController.cpp b/Controllers/RazerController/RazerController.cpp index 83a75b71..9f861292 100644 --- a/Controllers/RazerController/RazerController.cpp +++ b/Controllers/RazerController/RazerController.cpp @@ -68,6 +68,7 @@ RazerController::RazerController(hid_device* dev_handle, hid_device* dev_argb_ha case RAZER_DEATHADDER_CHROMA_PID: case RAZER_DEATHADDER_ESSENTIAL_V2_PID: case RAZER_DEATHADDER_V2_MINI_PID: + case RAZER_DEATHSTALKER_V2_PID: case RAZER_LAPTOP_STAND_CHROMA_PID: case RAZER_LAPTOP_STAND_CHROMA_V2_PID: case RAZER_MAMBA_ELITE_PID: @@ -175,6 +176,7 @@ RazerController::RazerController(hid_device* dev_handle, hid_device* dev_argb_ha case RAZER_CYNOSA_CHROMA_PID: case RAZER_CYNOSA_LITE_PID: case RAZER_CYNOSA_V2_PID: + case RAZER_DEATHSTALKER_V2_PID: case RAZER_HUNTSMAN_ELITE_PID: case RAZER_HUNTSMAN_PID: case RAZER_HUNTSMAN_MINI_PID: @@ -280,6 +282,7 @@ RazerController::RazerController(hid_device* dev_handle, hid_device* dev_argb_ha case RAZER_DEATHADDER_V2_PID: case RAZER_DEATHADDER_V2_PRO_WIRED_PID: case RAZER_DEATHADDER_V2_PRO_WIRELESS_PID: + case RAZER_DEATHSTALKER_V2_PID: case RAZER_FIREFLY_HYPERFLUX_PID: case RAZER_FIREFLY_V2_PID: case RAZER_GOLIATHUS_CHROMA_EXTENDED_PID: @@ -613,6 +616,7 @@ bool RazerController::SupportsWave() case RAZER_CYNOSA_CHROMA_PID: case RAZER_CYNOSA_V2_PID: case RAZER_DEATHSTALKER_CHROMA_PID: + case RAZER_DEATHSTALKER_V2_PID: case RAZER_ORNATA_CHROMA_PID: case RAZER_ORNATA_CHROMA_V2_PID: case RAZER_ORNATA_V3_PID: diff --git a/Controllers/RazerController/RazerControllerDetect.cpp b/Controllers/RazerController/RazerControllerDetect.cpp index 9f725c27..20f106ac 100644 --- a/Controllers/RazerController/RazerControllerDetect.cpp +++ b/Controllers/RazerController/RazerControllerDetect.cpp @@ -260,6 +260,7 @@ REGISTER_HID_DETECTOR_IPU("Razer Cynosa Chroma", Det REGISTER_HID_DETECTOR_IPU("Razer Cynosa Chroma V2", DetectRazerControllers, RAZER_VID, RAZER_CYNOSA_V2_PID, 0x02, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Cynosa Lite", DetectRazerControllers, RAZER_VID, RAZER_CYNOSA_LITE_PID, 0x02, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Deathstalker Chroma", DetectRazerControllers, RAZER_VID, RAZER_DEATHSTALKER_CHROMA_PID, 0x02, 0x01, 0x02); +REGISTER_HID_DETECTOR_IPU("Razer Deathstalker V2", DetectRazerControllers, RAZER_VID, RAZER_DEATHSTALKER_V2_PID, 0x03, 0x0C, 0x01); REGISTER_HID_DETECTOR_IPU("Razer Huntsman", DetectRazerControllers, RAZER_VID, RAZER_HUNTSMAN_PID, 0x02, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Huntsman Elite", DetectRazerControllers, RAZER_VID, RAZER_HUNTSMAN_ELITE_PID, 0x02, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Huntsman Mini", DetectRazerControllers, RAZER_VID, RAZER_HUNTSMAN_MINI_PID, 0x02, 0x01, 0x02); diff --git a/Controllers/RazerController/RazerDevices.cpp b/Controllers/RazerController/RazerDevices.cpp index 73dcecfd..651b43d4 100644 --- a/Controllers/RazerController/RazerDevices.cpp +++ b/Controllers/RazerController/RazerDevices.cpp @@ -189,6 +189,51 @@ keyboard_keymap_overlay_values razer_blade_15_2021_advanced_layout } }; +keyboard_keymap_overlay_values razer_deathstalker_v2_layout +{ + KEYBOARD_SIZE::KEYBOARD_SIZE_FULL, + { + { /* ANSI Value set not used */ }, + { + { + KEYBOARD_LAYOUT_ANSI_QWERTY, + { + /*---------------------------------------------------------------------*\ + | Swap Keys | + | Zone, Row, Column, Index, Key | + \*---------------------------------------------------------------------*/ + { 0, 4, 1, 0, KEY_EN_UNUSED, }, // Move 'Z' 1 right (Account for ISO key) + } + }, + { + KEYBOARD_LAYOUT_ISO_QWERTY, + { + /*---------------------------------------------------------------------*\ + | Swap Keys | + | Zone, Row, Column, Index, Key | + \*---------------------------------------------------------------------*/ + { 0, 2, 13, 0, KEY_EN_UNUSED, }, // Remove ANSI_BACKSLASH + { 0, 4, 1, 0, KEY_EN_ISO_BACK_SLASH, }, // Add ISO_BACK_SLASH + } + }, + /* Add more regional layout fixes here */ + } + }, + { + /*---------------------------------------------------------------------*\ + | Insert Keys | + | Zone, Row, Column, Index, Key | + \*---------------------------------------------------------------------*/ + { 0, 1, 13, 0, KEY_EN_UNUSED, }, // Move Backspace 1 right + }, + { + /*---------------------------------------------------------------------*\ + | Swap Keys | + | Zone, Row, Column, Index, Key | + \*---------------------------------------------------------------------*/ + } +}; + keyboard_keymap_overlay_values razer_huntsman_elite_layout { KEYBOARD_SIZE::KEYBOARD_SIZE_FULL, @@ -3693,6 +3738,42 @@ static const razer_device deathstalker_chroma_device = &razer_empty_layout }; +/*-------------------------------------------------------------*\ +| Razer Deathstalker V2 1532:0295 | +| | +| Zone "Keyboard" | +| Matrix | +| 6 Rows, 22 Columns | +\*-------------------------------------------------------------*/ +static const razer_zone deathstalker_v2_zone = +{ + ZONE_EN_KEYBOARD, + ZONE_TYPE_MATRIX, + 6, + 22 +}; + +static const razer_device deathstalker_v2_device = +{ + "Razer Deathstalker V2", + RAZER_DEATHSTALKER_V2_PID, + DEVICE_TYPE_KEYBOARD, + true, + 6, + 22, + { + &deathstalker_v2_zone, + NULL, + NULL, + NULL, + NULL, + NULL + }, + NULL, + 0, + &razer_deathstalker_v2_layout +}; + /*-------------------------------------------------------------*\ | Razer Huntsman 1532:0227 | | | @@ -9101,6 +9182,7 @@ const razer_device* razer_device_list[] = &cynosa_v2_device, &cynosa_lite_device, &deathstalker_chroma_device, + &deathstalker_v2_device, &huntsman_device, &huntsman_elite_device, &huntsman_mini_device, diff --git a/Controllers/RazerController/RazerDevices.h b/Controllers/RazerController/RazerDevices.h index 073783df..b280a486 100644 --- a/Controllers/RazerController/RazerDevices.h +++ b/Controllers/RazerController/RazerDevices.h @@ -91,6 +91,7 @@ #define RAZER_CYNOSA_LITE_PID 0x023F #define RAZER_CYNOSA_V2_PID 0x025E #define RAZER_DEATHSTALKER_CHROMA_PID 0x0204 +#define RAZER_DEATHSTALKER_V2_PID 0x0295 #define RAZER_HUNTSMAN_ELITE_PID 0x0226 #define RAZER_HUNTSMAN_PID 0x0227 #define RAZER_HUNTSMAN_MINI_PID 0x0257 diff --git a/RGBController/KeyboardLayoutManager.cpp b/RGBController/KeyboardLayoutManager.cpp index 2d860b4f..a95dc6a4 100644 --- a/RGBController/KeyboardLayoutManager.cpp +++ b/RGBController/KeyboardLayoutManager.cpp @@ -222,7 +222,7 @@ keyboard_keymap_overlay iso_qwertz { 0, 3, 10, 0, KEY_DE_DIAERESIS_O, }, { 0, 3, 11, 0, KEY_DE_DIAERESIS_A, }, { 0, 4, 2, 0, KEY_EN_Y, }, - { 0, 5, 12, 0, KEY_EN_MINUS, }, + { 0, 4, 11, 0, KEY_EN_MINUS, }, } };