From f1860bf742cc9cef5ebb9651d21a480ca27682ed Mon Sep 17 00:00:00 2001 From: Chris Date: Sat, 6 Aug 2022 13:34:27 +1000 Subject: [PATCH] Initial commit for Razer Naga Classic to resolve #2646 + Adding PID entry for the Naga Classic + Registered detectors + Added metadata to RazerDevices.h + Added capabilities to RazerController.cpp --- .../RazerController/RazerController.cpp | 3 + .../RazerController/RazerControllerDetect.cpp | 1 + Controllers/RazerController/RazerDevices.h | 60 +++++++++++++++++++ 3 files changed, 64 insertions(+) diff --git a/Controllers/RazerController/RazerController.cpp b/Controllers/RazerController/RazerController.cpp index 10a06086..f030ecb7 100644 --- a/Controllers/RazerController/RazerController.cpp +++ b/Controllers/RazerController/RazerController.cpp @@ -61,6 +61,7 @@ RazerController::RazerController(hid_device* dev_handle, hid_device* dev_argb_ha case RAZER_LAPTOP_STAND_CHROMA_PID: case RAZER_LAPTOP_STAND_CHROMA_V2_PID: case RAZER_MAMBA_ELITE_PID: + case RAZER_NAGA_CLASSIC_PID: case RAZER_NAGA_EPIC_CHROMA_PID: case RAZER_NAGA_LEFT_HANDED_PID: case RAZER_NAGA_PRO_WIRED_PID: @@ -129,6 +130,7 @@ RazerController::RazerController(hid_device* dev_handle, hid_device* dev_argb_ha case RAZER_LAPTOP_STAND_CHROMA_V2_PID: case RAZER_MAMBA_ELITE_PID: case RAZER_MOUSE_BUNGEE_V3_CHROMA_PID: + case RAZER_NAGA_CLASSIC_PID: case RAZER_NAGA_LEFT_HANDED_PID: case RAZER_O11_DYNAMIC_PID: case RAZER_TARTARUS_V2_PID: @@ -268,6 +270,7 @@ RazerController::RazerController(hid_device* dev_handle, hid_device* dev_argb_ha case RAZER_MAMBA_ELITE_PID: case RAZER_MOUSE_BUNGEE_V3_CHROMA_PID: case RAZER_MOUSE_DOCK_CHROMA_PID: + case RAZER_NAGA_CLASSIC_PID: case RAZER_NAGA_LEFT_HANDED_PID: case RAZER_NAGA_TRINITY_PID: case RAZER_NAGA_PRO_WIRED_PID: diff --git a/Controllers/RazerController/RazerControllerDetect.cpp b/Controllers/RazerController/RazerControllerDetect.cpp index 31b96d00..4908cdad 100644 --- a/Controllers/RazerController/RazerControllerDetect.cpp +++ b/Controllers/RazerController/RazerControllerDetect.cpp @@ -340,6 +340,7 @@ REGISTER_HID_DETECTOR_IPU("Razer Mamba 2018 (Wireless)", Det 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_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 Classic", DetectRazerControllers, RAZER_VID, RAZER_NAGA_CLASSIC_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 Left Handed", DetectRazerControllers, RAZER_VID, RAZER_NAGA_LEFT_HANDED_PID, 0x00, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Naga Hex V2", DetectRazerControllers, RAZER_VID, RAZER_NAGA_HEX_V2_PID, 0x00, 0x01, 0x02); diff --git a/Controllers/RazerController/RazerDevices.h b/Controllers/RazerController/RazerDevices.h index 9de7db9b..cf15793f 100644 --- a/Controllers/RazerController/RazerDevices.h +++ b/Controllers/RazerController/RazerDevices.h @@ -134,6 +134,7 @@ #define RAZER_NAGA_2012_PID 0x002E #define RAZER_NAGA_2014_PID 0x0040 #define RAZER_NAGA_CHROMA_PID 0x0053 +#define RAZER_NAGA_CLASSIC_PID 0x0093 #define RAZER_NAGA_EPIC_CHROMA_DOCK_PID 0x003F #define RAZER_NAGA_EPIC_CHROMA_PID 0x003E #define RAZER_NAGA_HEX_PID 0x0041 @@ -6346,6 +6347,64 @@ static const razer_device naga_chroma_device = 0 }; +/*-------------------------------------------------------------*\ +| Razer Naga Classic 1532:0093 | +| | +| Zone "Logo" | +| Single | +| 1 LED | +| | +| Zone "Scroll Wheel" | +| Single | +| 1 LED | +| | +| Zone "Numpad" | +| Single | +| 1 LED | +\*-------------------------------------------------------------*/ +static const razer_zone naga_classic_logo_zone = +{ + "Logo", + ZONE_TYPE_SINGLE, + 1, + 1 +}; + +static const razer_zone naga_classic_scroll_wheel_zone = +{ + "Scroll Wheel", + ZONE_TYPE_SINGLE, + 1, + 1 +}; + +static const razer_zone naga_classic_numpad_zone = +{ + "Numpad", + ZONE_TYPE_SINGLE, + 1, + 1 +}; + +static const razer_device naga_classic_device = +{ + "Razer Naga Classic", + RAZER_NAGA_CLASSIC_PID, + DEVICE_TYPE_MOUSE, + false, + 1, + 3, + { + &naga_classic_logo_zone, + &naga_classic_scroll_wheel_zone, + &naga_classic_numpad_zone, + NULL, + NULL, + NULL + }, + NULL, + 0 +}; /*-------------------------------------------------------------*\ | Razer Naga Hex V2 1532:0050 | @@ -8183,6 +8242,7 @@ static const razer_device* device_list[] = &mamba_te_device, &mamba_elite_device, &naga_chroma_device, + &naga_classic_device, &naga_epic_chroma_device, &naga_hex_v2_device, &naga_left_handed_device,