Add Support for Razer Naga V3 Pro

This commit is contained in:
rom4ster committed 2026-09-20 15:33:54 -05:00
1 parent f7e0e3d77b
commit ffcf003c37
4 files changed
+89

No files matched your search

@@ -127,6 +127,8 @@ RazerController::RazerController(hid_device* dev_handle, hid_device* dev_argb_ha
case RAZER_NAGA_LEFT_HANDED_PID:
case RAZER_NAGA_PRO_V2_WIRED_PID:
case RAZER_NAGA_PRO_V2_WIRELESS_PID:
case RAZER_NAGA_PRO_V3_WIRED_PID:
case RAZER_NAGA_PRO_V3_WIRELESS_PID:
case RAZER_O11_DYNAMIC_PID:
case RAZER_STRIDER_CHROMA_PID:
case RAZER_TARTARUS_PRO_PID:
@@ -12,6 +12,7 @@
#include <unordered_set>
#include <hidapi.h>
#include "DetectionManager.h"
#include "LogManager.h"
#include "RazerController.h"
#include "RazerDevices.h"
#include "RazerKrakenController.h"
@@ -33,6 +34,10 @@ DetectedControllers DetectRazerControllers(hid_device_info* info, const std::str
dev = hid_open_path(info->path);
LOG_INFO("[Razer] %s if=%d up=%04x u=%04x %s", name.c_str(),
info->interface_number, info->usage_page, info->usage, info->path);
if(!dev) LOG_WARNING("[Razer] hid_open_path failed");
if(dev)
{
RazerController* controller = new RazerController(dev, dev, info->path, info->product_id, name);
@@ -366,6 +371,8 @@ REGISTER_HID_DETECTOR_IPU("Razer Naga Pro (Wired)", Det
REGISTER_HID_DETECTOR_IPU("Razer Naga Pro (Wireless)", DetectRazerControllers, RAZER_VID, RAZER_NAGA_PRO_WIRELESS_PID, 0x00, 0x01, 0x02);
REGISTER_HID_DETECTOR_IPU("Razer Naga Pro V2 (Wired)", DetectRazerControllers, RAZER_VID, RAZER_NAGA_PRO_V2_WIRED_PID, 0x00, 0x01, 0x02);
REGISTER_HID_DETECTOR_IPU("Razer Naga Pro V2 (Wireless)", DetectRazerControllers, RAZER_VID, RAZER_NAGA_PRO_V2_WIRELESS_PID, 0x00, 0x01, 0x02);
REGISTER_HID_DETECTOR_PU("Razer Naga Pro V3 (Wired)", DetectRazerControllers, RAZER_VID, RAZER_NAGA_PRO_V3_WIRED_PID, 0x01, 0x03);
REGISTER_HID_DETECTOR_PU("Razer Naga Pro V3 (Wireless)", DetectRazerControllers, RAZER_VID, RAZER_NAGA_PRO_V3_WIRELESS_PID, 0x01, 0x03);
REGISTER_HID_DETECTOR_IPU("Razer Viper", DetectRazerControllers, RAZER_VID, RAZER_VIPER_PID, 0x00, 0x01, 0x02);
REGISTER_HID_DETECTOR_IPU("Razer Viper 8kHz", DetectRazerControllers, RAZER_VID, RAZER_VIPER_8KHZ_PID, 0x00, 0x01, 0x02);
REGISTER_HID_DETECTOR_IPU("Razer Viper Mini", DetectRazerControllers, RAZER_VID, RAZER_VIPER_MINI_PID, 0x00, 0x01, 0x02);
@@ -7222,6 +7222,82 @@ static const razer_device naga_pro_v2_wireless_device =
NULL
};
/*-------------------------------------------------------------*\
| Razer Naga Pro V3 1532:00E7 (wired) 1532:00E8 (wireless) |
| |
| Zone "Logo" |
| Single |
| 1 LED |
| |
| Zone "Numpad" |
| Single |
| 1 LED |
\*-------------------------------------------------------------*/
static const razer_zone naga_pro_v3_scroll_wheel_zone =
{
"Scroll Wheel",
ZONE_TYPE_SINGLE,
1,
1
};
static const razer_zone naga_pro_v3_logo_zone =
{
"Logo",
ZONE_TYPE_SINGLE,
1,
1
};
static const razer_zone naga_pro_v3_numpad_zone =
{
"Numpad",
ZONE_TYPE_SINGLE,
1,
1
};
static const razer_device naga_pro_v3_wired_device =
{
"Razer Naga Pro V3 (Wired)",
RAZER_NAGA_PRO_V3_WIRED_PID,
DEVICE_TYPE_MOUSE,
RAZER_MATRIX_TYPE_EXTENDED,
0x1F,
1,
3,
{
&naga_pro_v3_logo_zone,
&naga_pro_v3_scroll_wheel_zone,
&naga_pro_v3_numpad_zone,
NULL,
NULL,
NULL
},
NULL
};
static const razer_device naga_pro_v3_wireless_device =
{
"Razer Naga Pro V3 (Wireless)",
RAZER_NAGA_PRO_V3_WIRELESS_PID,
DEVICE_TYPE_MOUSE,
RAZER_MATRIX_TYPE_EXTENDED,
0x1F,
1,
3,
{
&naga_pro_v3_logo_zone,
&naga_pro_v3_scroll_wheel_zone,
&naga_pro_v3_numpad_zone,
NULL,
NULL,
NULL
},
NULL
};
/*-------------------------------------------------------------*\
| Razer Viper 8kHz 1532:0091 |
| |
@@ -9590,6 +9666,8 @@ const razer_device* razer_device_list[] =
&naga_pro_wireless_device,
&naga_pro_v2_wired_device,
&naga_pro_v2_wireless_device,
&naga_pro_v3_wired_device,
&naga_pro_v3_wireless_device,
&viper_8khz_device,
&viper_mini_device,
&viper_ultimate_wired_device,
@@ -213,6 +213,8 @@
#define RAZER_NAGA_PRO_WIRELESS_PID 0x0090
#define RAZER_NAGA_PRO_V2_WIRED_PID 0x00A7
#define RAZER_NAGA_PRO_V2_WIRELESS_PID 0x00A8
#define RAZER_NAGA_PRO_V3_WIRED_PID 0x00E7
#define RAZER_NAGA_PRO_V3_WIRELESS_PID 0x00E8
#define RAZER_OROCHI_2011_PID 0x0013
#define RAZER_OROCHI_2013_PID 0x0039
#define RAZER_OROCHI_CHROMA_PID 0x0048