From 18d35fcb824b658082ade7bf498daf6f0bc5bf4e Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Thu, 2 Jul 2020 15:37:00 -0500 Subject: [PATCH] Re-add interface check for Corsair driver when not using HID usages. Only set special function control for non-keyboards --- .../CorsairPeripheralController.cpp | 4 +++- .../CorsairPeripheralControllerDetect.cpp | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Controllers/CorsairPeripheralController/CorsairPeripheralController.cpp b/Controllers/CorsairPeripheralController/CorsairPeripheralController.cpp index 46ff16a4a..b6e19e575 100644 --- a/Controllers/CorsairPeripheralController/CorsairPeripheralController.cpp +++ b/Controllers/CorsairPeripheralController/CorsairPeripheralController.cpp @@ -30,7 +30,6 @@ CorsairPeripheralController::CorsairPeripheralController(hid_device* dev_handle) ReadFirmwareInfo(); - SpecialFunctionControl(); LightingControl(); } @@ -346,6 +345,7 @@ void CorsairPeripheralController::ReadFirmwareInfo() case 0xC1: type = DEVICE_TYPE_MOUSE; + SpecialFunctionControl(); break; case 0xC2: @@ -356,10 +356,12 @@ void CorsairPeripheralController::ReadFirmwareInfo() { case 0x0A34: type = DEVICE_TYPE_HEADSET_STAND; + SpecialFunctionControl(); break; default: type = DEVICE_TYPE_MOUSEMAT; + SpecialFunctionControl(); break; } } diff --git a/Controllers/CorsairPeripheralController/CorsairPeripheralControllerDetect.cpp b/Controllers/CorsairPeripheralController/CorsairPeripheralControllerDetect.cpp index c0753a809..86493f90c 100644 --- a/Controllers/CorsairPeripheralController/CorsairPeripheralControllerDetect.cpp +++ b/Controllers/CorsairPeripheralController/CorsairPeripheralControllerDetect.cpp @@ -134,7 +134,8 @@ void DetectCorsairPeripheralControllers(std::vector& rgb_control &&(info->product_id == device_list[device_idx].usb_pid) &&(info->usage_page == 0xFFC2)) #else - &&(info->product_id == device_list[device_idx].usb_pid)) + &&(info->product_id == device_list[device_idx].usb_pid) + &&(info->interface_number == device_list[device_idx].usb_interface)) #endif { dev = hid_open_path(info->path);