From a1e1dffe8141a42b2510d1e3264bb1741369dfb3 Mon Sep 17 00:00:00 2001 From: Chris M Date: Fri, 22 Mar 2024 07:50:08 +1100 Subject: [PATCH] Initial commit for Razer Huntsman Mini Analog + Adding PID `0x0282` for the Huntsman Mini Analog + Added metadata to RazerDevices.cpp + Registered detectors + Added capabilities to RazerController.cpp + Resolves #3387 --- .../RazerController/RazerController.cpp | 2 ++ .../RazerController/RazerControllerDetect.cpp | 1 + Controllers/RazerController/RazerDevices.cpp | 36 +++++++++++++++++++ Controllers/RazerController/RazerDevices.h | 1 + 4 files changed, 40 insertions(+) diff --git a/Controllers/RazerController/RazerController.cpp b/Controllers/RazerController/RazerController.cpp index 3d3e9098..55542c1b 100644 --- a/Controllers/RazerController/RazerController.cpp +++ b/Controllers/RazerController/RazerController.cpp @@ -136,6 +136,7 @@ RazerController::RazerController(hid_device* dev_handle, hid_device* dev_argb_ha case RAZER_HUNTSMAN_ELITE_PID: case RAZER_HUNTSMAN_PID: case RAZER_HUNTSMAN_MINI_PID: + case RAZER_HUNTSMAN_MINI_ANALOG_PID: case RAZER_HUNTSMAN_TE_PID: case RAZER_HUNTSMAN_V2_ANALOG_PID: case RAZER_HUNTSMAN_V2_TKL_PID: @@ -422,6 +423,7 @@ bool RazerController::SupportsWave() case RAZER_HUNTSMAN_PID: case RAZER_HUNTSMAN_ELITE_PID: case RAZER_HUNTSMAN_MINI_PID: + case RAZER_HUNTSMAN_MINI_ANALOG_PID: case RAZER_HUNTSMAN_TE_PID: case RAZER_HUNTSMAN_V2_ANALOG_PID: case RAZER_HUNTSMAN_V2_TKL_PID: diff --git a/Controllers/RazerController/RazerControllerDetect.cpp b/Controllers/RazerController/RazerControllerDetect.cpp index e28dd21a..c439d608 100644 --- a/Controllers/RazerController/RazerControllerDetect.cpp +++ b/Controllers/RazerController/RazerControllerDetect.cpp @@ -177,6 +177,7 @@ REGISTER_HID_DETECTOR_IPU("Razer Deathstalker V2 Pro (Wireless)", Det 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); +REGISTER_HID_DETECTOR_IPU("Razer Huntsman Mini Analog", DetectRazerControllers, RAZER_VID, RAZER_HUNTSMAN_MINI_ANALOG_PID, 0x03, 0x0C, 0x01); REGISTER_HID_DETECTOR_IPU("Razer Huntsman Tournament Edition", DetectRazerControllers, RAZER_VID, RAZER_HUNTSMAN_TE_PID, 0x02, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Huntsman V2 Analog", DetectRazerControllers, RAZER_VID, RAZER_HUNTSMAN_V2_ANALOG_PID, 0x03, 0x0C, 0x01); REGISTER_HID_DETECTOR_IPU("Razer Huntsman V2 TKL", DetectRazerControllers, RAZER_VID, RAZER_HUNTSMAN_V2_TKL_PID, 0x03, 0x0C, 0x01); diff --git a/Controllers/RazerController/RazerDevices.cpp b/Controllers/RazerController/RazerDevices.cpp index 5add6682..b5d89db9 100644 --- a/Controllers/RazerController/RazerDevices.cpp +++ b/Controllers/RazerController/RazerDevices.cpp @@ -2530,6 +2530,41 @@ static const razer_device huntsman_mini_device = &razer_huntsman_mini_layout }; +/*-------------------------------------------------------------*\ +| Razer Huntsman Mini Analog 1532:0282 | +| | +| Zone "Keyboard" | +| Matrix | +| 5 Rows, 15 Columns | +\*-------------------------------------------------------------*/ +static const razer_zone huntsman_mini_analog_keyboard_zone = +{ + ZONE_EN_KEYBOARD, + ZONE_TYPE_MATRIX, + 5, + 15 +}; + +static const razer_device huntsman_mini_analog_device = +{ + "Razer Huntsman Mini Analog", + RAZER_HUNTSMAN_MINI_ANALOG_PID, + DEVICE_TYPE_KEYBOARD, + RAZER_MATRIX_TYPE_EXTENDED, + 0x1F, + 5, + 15, + { + &huntsman_mini_analog_keyboard_zone, + NULL, + NULL, + NULL, + NULL, + NULL + }, + &razer_huntsman_mini_layout +}; + /*-------------------------------------------------------------*\ | Razer Huntsman TE 1532:0243 | | | @@ -8058,6 +8093,7 @@ const razer_device* razer_device_list[] = &huntsman_device, &huntsman_elite_device, &huntsman_mini_device, + &huntsman_mini_analog_device, &huntsman_te_device, &huntsman_v2_device, &huntsman_v2_analog_device, diff --git a/Controllers/RazerController/RazerDevices.h b/Controllers/RazerController/RazerDevices.h index 2fd1b835..0c4be436 100644 --- a/Controllers/RazerController/RazerDevices.h +++ b/Controllers/RazerController/RazerDevices.h @@ -104,6 +104,7 @@ #define RAZER_HUNTSMAN_ELITE_PID 0x0226 #define RAZER_HUNTSMAN_PID 0x0227 #define RAZER_HUNTSMAN_MINI_PID 0x0257 +#define RAZER_HUNTSMAN_MINI_ANALOG_PID 0x0282 #define RAZER_HUNTSMAN_TE_PID 0x0243 #define RAZER_HUNTSMAN_V2_ANALOG_PID 0x0266 #define RAZER_HUNTSMAN_V2_TKL_PID 0x026B