Enable wave mode for compatible Razer devices in RazerController

This commit is contained in:
Adam Honse
2021-04-15 23:24:16 -05:00
parent fea40cae6d
commit b8f044b296
3 changed files with 83 additions and 5 deletions

View File

@@ -210,7 +210,7 @@ RazerController::RazerController(hid_device* dev_handle, hid_device* dev_argb_ha
case RAZER_DEATHSTALKER_CHROMA_PID:
case RAZER_DIAMONDBACK_CHROMA_PID:
case RAZER_FIREFLY_PID:
case RAZER_MAMBA_TE_WIRED_PID:
case RAZER_MAMBA_TE_PID:
case RAZER_MAMBA_2015_WIRED_PID:
case RAZER_MAMBA_2015_WIRELESS_PID:
case RAZER_NAGA_CHROMA_PID:
@@ -379,7 +379,85 @@ bool RazerController::SupportsReactive()
bool RazerController::SupportsWave()
{
return(false);
bool supports_wave = false;
switch(dev_pid)
{
/*-----------------------------------------------------*\
| Keyboards, Keypads, and Laptops |
\*-----------------------------------------------------*/
case RAZER_BLACKWIDOW_CHROMA_PID:
case RAZER_BLACKWIDOW_CHROMA_TE_PID:
case RAZER_BLACKWIDOW_CHROMA_V2_PID:
case RAZER_BLACKWIDOW_OVERWATCH_PID:
case RAZER_BLACKWIDOW_X_CHROMA_PID:
case RAZER_BLACKWIDOW_X_CHROMA_TE_PID:
case RAZER_BLADE_2016_PID:
case RAZER_BLADE_LATE_2016_PID:
case RAZER_BLADE_2018_ADVANCED_PID:
case RAZER_BLADE_2018_MERCURY_PID:
case RAZER_BLADE_2019_ADVANCED_PID:
case RAZER_BLADE_2019_BASE_PID:
case RAZER_BLADE_2019_MERCURY_PID:
case RAZER_BLADE_2019_STUDIO_PID:
case RAZER_BLADE_2020_ADVANCED_PID:
case RAZER_BLADE_2020_BASE_PID:
case RAZER_BLADE_2021_BASE_PID:
case RAZER_BLADE_PRO_2016_PID:
case RAZER_BLADE_PRO_2017_PID:
case RAZER_BLADE_PRO_2017_FULLHD_PID:
case RAZER_BLADE_PRO_2019_PID:
case RAZER_BLADE_PRO_LATE_2019_PID:
case RAZER_BLADE_STEALTH_2016_PID:
case RAZER_BLADE_STEALTH_LATE_2016_PID:
case RAZER_BLADE_STEALTH_2017_PID:
case RAZER_BLADE_STEALTH_LATE_2017_PID:
case RAZER_CYNOSA_CHROMA_PID:
case RAZER_CYNOSA_V2_PID:
case RAZER_DEATHSTALKER_CHROMA_PID:
case RAZER_ORNATA_CHROMA_PID:
case RAZER_ORNATA_CHROMA_V2_PID:
case RAZER_HUNTSMAN_PID:
case RAZER_HUNTSMAN_ELITE_PID:
case RAZER_HUNTSMAN_TE_PID:
case RAZER_ORBWEAVER_CHROMA_PID:
case RAZER_TARTARUS_V2_PID:
/*-----------------------------------------------------*\
| Mice |
\*-----------------------------------------------------*/
case RAZER_DIAMONDBACK_CHROMA_PID:
case RAZER_MAMBA_2015_WIRED_PID:
case RAZER_MAMBA_2015_WIRELESS_PID:
case RAZER_MAMBA_TE_PID:
/*-----------------------------------------------------*\
| Headsets |
\*-----------------------------------------------------*/
case RAZER_TIAMAT_71_V2_PID:
/*-----------------------------------------------------*\
| Accessories |
\*-----------------------------------------------------*/
case RAZER_BASE_STATION_CHROMA_PID:
case RAZER_BASE_STATION_V2_CHROMA_PID:
case RAZER_CHARGING_PAD_CHROMA_PID:
case RAZER_CHROMA_ADDRESSABLE_RGB_CONTROLLER_PID:
case RAZER_CHROMA_MUG_PID:
case RAZER_CHROMA_HDK_PID:
case RAZER_CHROMA_PC_CASE_LIGHTING_KIT_PID:
case RAZER_CORE_PID:
case RAZER_FIREFLY_PID:
case RAZER_FIREFLY_V2_PID:
case RAZER_MOUSE_BUNGEE_V3_CHROMA_PID:
case RAZER_NOMMO_CHROMA_PID:
case RAZER_NOMMO_PRO_PID:
supports_wave = true;
break;
}
return(supports_wave);
}
/*-------------------------------------------------------------------------------------------------*\

View File

@@ -269,7 +269,7 @@ REGISTER_HID_DETECTOR_IPU("Razer Mamba 2015 (Wireless)", Det
REGISTER_HID_DETECTOR_IPU("Razer Mamba 2018 (Wired)", DetectRazerControllers, RAZER_VID, RAZER_MAMBA_2018_WIRED_PID, 0x00, 0x01, 0x02);
REGISTER_HID_DETECTOR_IPU("Razer Mamba 2018 (Wireless)", DetectRazerControllers, RAZER_VID, RAZER_MAMBA_2018_WIRELESS_PID, 0x00, 0x01, 0x02);
REGISTER_HID_DETECTOR_IPU("Razer Mamba Elite", DetectRazerControllers, RAZER_VID, RAZER_MAMBA_ELITE_PID, 0x00, 0x01, 0x02);
REGISTER_HID_DETECTOR_IPU("Razer Mamba Tournament Edition", DetectRazerControllers, RAZER_VID, RAZER_MAMBA_TE_WIRED_PID, 0x00, 0x01, 0x02);
REGISTER_HID_DETECTOR_IPU("Razer Mamba Tournament Edition", DetectRazerControllers, RAZER_VID, RAZER_MAMBA_TE_PID, 0x00, 0x01, 0x02);
REGISTER_HID_DETECTOR_IPU("Razer Naga Chroma", DetectRazerControllers, RAZER_VID, RAZER_NAGA_CHROMA_PID, 0x00, 0x01, 0x02);
REGISTER_HID_DETECTOR_IPU("Razer Naga Epic Chroma", DetectRazerControllers, RAZER_VID, RAZER_NAGA_EPIC_CHROMA_PID, 0x00, 0x01, 0x02);
REGISTER_HID_DETECTOR_IPU("Razer Naga Hex V2", DetectRazerControllers, RAZER_VID, RAZER_NAGA_HEX_V2_PID, 0x00, 0x01, 0x02);

View File

@@ -106,7 +106,7 @@
#define RAZER_MAMBA_2018_WIRED_PID 0x0073
#define RAZER_MAMBA_2018_WIRELESS_PID 0x0072
#define RAZER_MAMBA_ELITE_PID 0x006C
#define RAZER_MAMBA_TE_WIRED_PID 0x0046
#define RAZER_MAMBA_TE_PID 0x0046
#define RAZER_NAGA_2012_PID 0x002E
#define RAZER_NAGA_2014_PID 0x0040
#define RAZER_NAGA_CHROMA_PID 0x0053
@@ -4134,7 +4134,7 @@ static const razer_zone mamba_te_scroll_wheel_zone =
static const razer_device mamba_te_device =
{
"Razer Mamba Tournament Edition",
RAZER_MAMBA_TE_WIRED_PID,
RAZER_MAMBA_TE_PID,
DEVICE_TYPE_MOUSE,
true,
1,