From b3b392b3e281c3725338d2ae3bdfda0c089451b2 Mon Sep 17 00:00:00 2001 From: Felipe Guaycuru Date: Sun, 30 May 2021 22:33:31 +0000 Subject: [PATCH] Make Corsair K55 behavior be closer to iCue's --- .../CorsairPeripheralController.cpp | 12 +++++------- .../CorsairPeripheralController.h | 2 +- .../CorsairPeripheralControllerDetect.cpp | 2 +- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/Controllers/CorsairPeripheralController/CorsairPeripheralController.cpp b/Controllers/CorsairPeripheralController/CorsairPeripheralController.cpp index 9f5dafa5..558851d9 100644 --- a/Controllers/CorsairPeripheralController/CorsairPeripheralController.cpp +++ b/Controllers/CorsairPeripheralController/CorsairPeripheralController.cpp @@ -59,18 +59,18 @@ CorsairPeripheralController::CorsairPeripheralController(hid_device* dev_handle, ReadFirmwareInfo(); /*-----------------------------------------------------*\ - | K95 Platinum requires additional steps | + | K55 and K95 Platinum require additional steps | \*-----------------------------------------------------*/ - if (logical_layout == CORSAIR_TYPE_K95_PLAT) + if (logical_layout == CORSAIR_TYPE_K55 || logical_layout == CORSAIR_TYPE_K95_PLAT) { SpecialFunctionControl(); } LightingControl(); - if (logical_layout == CORSAIR_TYPE_K95_PLAT) + if (logical_layout == CORSAIR_TYPE_K55 || logical_layout == CORSAIR_TYPE_K95_PLAT) { - SetupK95LightingControl(); + SetupK55AndK95LightingControl(); } } @@ -232,7 +232,6 @@ void CorsairPeripheralController::SetLEDsKeyboardFull(std::vector colo SubmitKeyboardFullColors(3, 3, 2); } - void CorsairPeripheralController::SetLEDsMouse(std::vector colors) { SubmitMouseColors(colors.size(), &colors[0]); @@ -370,7 +369,7 @@ void CorsairPeripheralController::LightingControl() | Probably a key mapping packet? | \*-----------------------------------------------------*/ -void CorsairPeripheralController::SetupK95LightingControl() +void CorsairPeripheralController::SetupK55AndK95LightingControl() { char usb_buf[65]; @@ -535,7 +534,6 @@ void CorsairPeripheralController::ReadFirmwareInfo() case 0x1B3D: logical_layout = CORSAIR_TYPE_K55; - SpecialFunctionControl(); break; default: diff --git a/Controllers/CorsairPeripheralController/CorsairPeripheralController.h b/Controllers/CorsairPeripheralController/CorsairPeripheralController.h index 58f7cf69..714289d6 100644 --- a/Controllers/CorsairPeripheralController/CorsairPeripheralController.h +++ b/Controllers/CorsairPeripheralController/CorsairPeripheralController.h @@ -97,7 +97,7 @@ private: int logical_layout; //Normal, K95 or K95 Platinum void LightingControl(); - void SetupK95LightingControl(); + void SetupK55AndK95LightingControl(); void SpecialFunctionControl(); void ReadFirmwareInfo(); diff --git a/Controllers/CorsairPeripheralController/CorsairPeripheralControllerDetect.cpp b/Controllers/CorsairPeripheralController/CorsairPeripheralControllerDetect.cpp index 023e701f..54772c39 100644 --- a/Controllers/CorsairPeripheralController/CorsairPeripheralControllerDetect.cpp +++ b/Controllers/CorsairPeripheralController/CorsairPeripheralControllerDetect.cpp @@ -91,7 +91,7 @@ void DetectCorsairPeripheralControllers(hid_device_info* info, const std::string /*-----------------------------------------------------------------------------------------------------*\ | Keyboards | \*-----------------------------------------------------------------------------------------------------*/ -REGISTER_HID_DETECTOR_IP("Corsair K55 RGB", DetectCorsairPeripheralControllers, CORSAIR_VID, CORSAIR_K55_RGB_PID, 1, 0xFFC2); // Not per-key, disabled for now +REGISTER_HID_DETECTOR_IP("Corsair K55 RGB", DetectCorsairPeripheralControllers, CORSAIR_VID, CORSAIR_K55_RGB_PID, 1, 0xFFC2); REGISTER_HID_DETECTOR_IP("Corsair K65 RGB", DetectCorsairPeripheralControllers, CORSAIR_VID, CORSAIR_K65_RGB_PID, 1, 0xFFC2); REGISTER_HID_DETECTOR_IP("Corsair K65 LUX RGB", DetectCorsairPeripheralControllers, CORSAIR_VID, CORSAIR_K65_LUX_RGB_PID, 1, 0xFFC2); REGISTER_HID_DETECTOR_IP("Corsair K65 RGB RAPIDFIRE", DetectCorsairPeripheralControllers, CORSAIR_VID, CORSAIR_K65_RGB_RAPIDFIRE_PID, 1, 0xFFC2);