From 593506219c3a8162c660563104bca761cca63eb4 Mon Sep 17 00:00:00 2001 From: Chris Date: Tue, 8 Aug 2023 00:12:35 +1000 Subject: [PATCH] Initial commit for the Corsair M65 Ultra RGB mouse * Adding key layout and metadata to CorsairPeripheralV2Devices.cpp * Adding new detector * Resolves #3261 --- .../CorsairPeripheralV2ControllerDetect.cpp | 1 + .../CorsairPeripheralV2Devices.cpp | 45 +++++++++++++++++++ .../CorsairPeripheralV2Devices.h | 1 + 3 files changed, 47 insertions(+) diff --git a/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2ControllerDetect.cpp b/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2ControllerDetect.cpp index 222cfb86..88bbaf60 100644 --- a/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2ControllerDetect.cpp +++ b/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2ControllerDetect.cpp @@ -66,6 +66,7 @@ REGISTER_HID_DETECTOR_IP("Corsair K60 RGB PRO Low Profile", DetectCorsai \*-----------------------------------------------------------------------------------------------------*/ REGISTER_HID_DETECTOR_IP("Corsair Ironclaw Wireless (Wired)", DetectCorsairV2SoftwareControllers, CORSAIR_VID, CORSAIR_IRONCLAW_WIRELESS_PID, 1, 0xFF42); REGISTER_HID_DETECTOR_IP("Corsair M55 RGB PRO", DetectCorsairV2SoftwareControllers, CORSAIR_VID, CORSAIR_M55_RGB_PRO_PID, 1, 0xFF42); +REGISTER_HID_DETECTOR_IP("Corsair M65 Ultra RGB (Wired)", DetectCorsairV2HardwareControllers, CORSAIR_VID, CORSAIR_M65_ULTRA_RGB_PID, 1, 0xFF42); REGISTER_HID_DETECTOR_IP("Corsair Dark Core RGB Pro SE (Wired)", DetectCorsairV2HardwareControllers, CORSAIR_VID, CORSAIR_DARK_CORE_RGB_PRO_PID, 1, 0xFF42); REGISTER_HID_DETECTOR_IP("Corsair Slipstream Wireless Receiver", DetectCorsairV2HardwareControllers, CORSAIR_VID, CORSAIR_SLIPSTREAM_WIRELESS_PID, 1, 0xFF42); diff --git a/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Devices.cpp b/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Devices.cpp index 7581fb23..b198d855 100644 --- a/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Devices.cpp +++ b/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Devices.cpp @@ -336,6 +336,50 @@ static const corsair_v2_device m55_device = nullptr }; +/*-------------------------------------------------------------*\ +| Corsair M65 Ultra RGB 1B1C:1BB5 | +| | +| Zone "Logo" | +| Single | +| | +| Zone "DPI" | +| Single | +\*-------------------------------------------------------------*/ +static const corsair_v2_zone m65_ultra_rgb_logo_zone = +{ + "Logo", + ZONE_TYPE_SINGLE, + 1, + 1 +}; + +static const corsair_v2_zone m65_ultra_rgb_dpi_zone = +{ + "DPI", + ZONE_TYPE_SINGLE, + 1, + 1 +}; + +static const corsair_v2_device m65_ultra_rgb_device = +{ + CORSAIR_M65_ULTRA_RGB_PID, + //false, + DEVICE_TYPE_MOUSE, + //CORSAIR_V2_TYPE_SW_COLOUR_BLOCK, + 1, + 2, + { + &m65_ultra_rgb_logo_zone, + &m65_ultra_rgb_dpi_zone, + nullptr, + nullptr, + nullptr, + nullptr + }, + nullptr +}; + /*-------------------------------------------------------------*\ | Corsair MM700 1B1C:1B9B | | | @@ -405,6 +449,7 @@ const corsair_v2_device* corsair_v2_device_list_data[] = &dark_core_pro_se_device, &ironclaw_wireless_device, &m55_device, + &m65_ultra_rgb_device, /*-----------------------------------------------------------------*\ | MOUSEMATS | diff --git a/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Devices.h b/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Devices.h index 884619fa..b0c80bb4 100644 --- a/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Devices.h +++ b/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Devices.h @@ -69,6 +69,7 @@ typedef struct #define CORSAIR_DARK_CORE_RGB_PRO_PID 0x1B7E #define CORSAIR_IRONCLAW_WIRELESS_PID 0x1B4C #define CORSAIR_M55_RGB_PRO_PID 0x1B70 +#define CORSAIR_M65_ULTRA_RGB_PID 0x1BB5 #define CORSAIR_SLIPSTREAM_WIRELESS_PID 0x1BA6 /*-----------------------------------------------------*\