Initial commit for Razer Deathstalker V2 Pro to resolve #3106

+ Added PID entry for the Deathstalker V2 Pro
+ Registered detectors
+ Added metadata to RazerDevices.cpp
+ Added capabilities to RazerController.cpp
This commit is contained in:
Chris M 2023-01-31 21:54:04 +11:00
parent 76e7bd4d1f
commit 6091dc799c
5 changed files with 136 additions and 0 deletions

View file

@ -1,5 +1,6 @@
#include "RGBController_Razer.h"
#include "RazerDevices.h"
#include "LogManager.h"
/**------------------------------------------------------------------*\
@name Razer
@ -27,13 +28,18 @@ RGBController_Razer::RGBController_Razer(RazerController* controller_ptr)
if(type == DEVICE_TYPE_KEYBOARD)
{
LOG_DEBUG("[%s] Checking Keyboard Layout", name.c_str());
std::string layout = controller->GetKeyboardLayoutName();
LOG_DEBUG("[%s] returned: %s", name.c_str(), layout.c_str());
description.append(", ");
description.append(layout);
}
LOG_DEBUG("[%s] Checking variant", name.c_str());
std::string variant = controller->GetVariantName();
LOG_DEBUG("[%s] returned: %s", name.c_str(), variant.c_str());
description.append(", ");
description.append(variant);

View file

@ -100,6 +100,8 @@ RazerController::RazerController(hid_device* dev_handle, hid_device* dev_argb_ha
break;
case RAZER_BLACKWIDOW_V3_MINI_WIRELESS_PID:
case RAZER_DEATHSTALKER_V2_PRO_WIRED_PID:
case RAZER_DEATHSTALKER_V2_PRO_WIRELESS_PID:
{
dev_transaction_id = 0x9F;
break;
@ -145,6 +147,8 @@ RazerController::RazerController(hid_device* dev_handle, hid_device* dev_argb_ha
case RAZER_DEATHADDER_ELITE_PID:
case RAZER_DEATHADDER_V2_MINI_PID:
case RAZER_DEATHADDER_ESSENTIAL_V2_PID:
case RAZER_DEATHSTALKER_V2_PRO_WIRED_PID:
case RAZER_DEATHSTALKER_V2_PRO_WIRELESS_PID:
case RAZER_FIREFLY_V2_PID:
case RAZER_GOLIATHUS_CHROMA_EXTENDED_PID:
case RAZER_GOLIATHUS_CHROMA_PID:
@ -283,6 +287,8 @@ RazerController::RazerController(hid_device* dev_handle, hid_device* dev_argb_ha
case RAZER_DEATHADDER_V2_PRO_WIRED_PID:
case RAZER_DEATHADDER_V2_PRO_WIRELESS_PID:
case RAZER_DEATHSTALKER_V2_PID:
case RAZER_DEATHSTALKER_V2_PRO_WIRED_PID:
case RAZER_DEATHSTALKER_V2_PRO_WIRELESS_PID:
case RAZER_FIREFLY_HYPERFLUX_PID:
case RAZER_FIREFLY_V2_PID:
case RAZER_GOLIATHUS_CHROMA_EXTENDED_PID:
@ -617,6 +623,8 @@ bool RazerController::SupportsWave()
case RAZER_CYNOSA_V2_PID:
case RAZER_DEATHSTALKER_CHROMA_PID:
case RAZER_DEATHSTALKER_V2_PID:
case RAZER_DEATHSTALKER_V2_PRO_WIRED_PID:
case RAZER_DEATHSTALKER_V2_PRO_WIRELESS_PID:
case RAZER_ORNATA_CHROMA_PID:
case RAZER_ORNATA_CHROMA_V2_PID:
case RAZER_ORNATA_V3_PID:

View file

@ -261,6 +261,8 @@ REGISTER_HID_DETECTOR_IPU("Razer Cynosa Chroma V2", Det
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 Deathstalker V2 Pro (Wired)", DetectRazerControllers, RAZER_VID, RAZER_DEATHSTALKER_V2_PRO_WIRED_PID, 0x03, 0x0C, 0x01);
REGISTER_HID_DETECTOR_IPU("Razer Deathstalker V2 Pro (Wireless)", DetectRazerControllers, RAZER_VID, RAZER_DEATHSTALKER_V2_PRO_WIRELESS_PID, 0x02, 0x01, 0x02);
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);

View file

@ -234,6 +234,50 @@ keyboard_keymap_overlay_values razer_deathstalker_v2_layout
}
};
keyboard_keymap_overlay_values razer_deathstalker_v2_pro_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 |
\*---------------------------------------------------------------------*/
},
{
/*---------------------------------------------------------------------*\
| Swap Keys |
| Zone, Row, Column, Index, Key |
\*---------------------------------------------------------------------*/
}
};
keyboard_keymap_overlay_values razer_huntsman_elite_layout
{
KEYBOARD_SIZE::KEYBOARD_SIZE_FULL,
@ -3774,6 +3818,78 @@ static const razer_device deathstalker_v2_device =
&razer_deathstalker_v2_layout
};
/*-------------------------------------------------------------*\
| Razer DeathStalker V2 Pro (Wireless) 1532:0290 |
| |
| Zone "Keyboard" |
| Matrix |
| 104 LEDs |
\*-------------------------------------------------------------*/
static const razer_zone deathstalker_v2_pro_wireless_zone =
{
ZONE_EN_KEYBOARD,
ZONE_TYPE_MATRIX,
6,
22
};
static const razer_device deathstalker_v2_pro_wireless_device =
{
"Razer DeathStalker V2 Pro (Wireless)",
RAZER_DEATHSTALKER_V2_PRO_WIRELESS_PID,
DEVICE_TYPE_KEYBOARD,
true,
6,
22,
{
&deathstalker_v2_pro_wireless_zone,
NULL,
NULL,
NULL,
NULL,
NULL
},
NULL,
0,
&razer_deathstalker_v2_pro_layout
};
/*-------------------------------------------------------------*\
| Razer DeathStalker V2 Pro (Wired) 1532:0292 |
| |
| Zone "Keyboard" |
| Matrix |
| 104 LEDs |
\*-------------------------------------------------------------*/
static const razer_zone deathstalker_v2_pro_wired_zone =
{
ZONE_EN_KEYBOARD,
ZONE_TYPE_MATRIX,
6,
22
};
static const razer_device deathstalker_v2_pro_wired_device =
{
"Razer DeathStalker V2 Pro (Wired)",
RAZER_DEATHSTALKER_V2_PRO_WIRED_PID,
DEVICE_TYPE_KEYBOARD,
true,
6,
22,
{
&deathstalker_v2_pro_wired_zone,
NULL,
NULL,
NULL,
NULL,
NULL
},
NULL,
0,
&razer_deathstalker_v2_pro_layout
};
/*-------------------------------------------------------------*\
| Razer Huntsman 1532:0227 |
| |
@ -9183,6 +9299,8 @@ const razer_device* razer_device_list[] =
&cynosa_lite_device,
&deathstalker_chroma_device,
&deathstalker_v2_device,
&deathstalker_v2_pro_wired_device,
&deathstalker_v2_pro_wireless_device,
&huntsman_device,
&huntsman_elite_device,
&huntsman_mini_device,

View file

@ -92,6 +92,8 @@
#define RAZER_CYNOSA_V2_PID 0x025E
#define RAZER_DEATHSTALKER_CHROMA_PID 0x0204
#define RAZER_DEATHSTALKER_V2_PID 0x0295
#define RAZER_DEATHSTALKER_V2_PRO_WIRELESS_PID 0x0290
#define RAZER_DEATHSTALKER_V2_PRO_WIRED_PID 0x0292
#define RAZER_HUNTSMAN_ELITE_PID 0x0226
#define RAZER_HUNTSMAN_PID 0x0227
#define RAZER_HUNTSMAN_MINI_PID 0x0257