From 01e0808e4170fbcf18ad479863f04e56267eff5d Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Mon, 4 May 2020 17:02:39 -0500 Subject: [PATCH] Add 1ms sleep after every Corsair peripheral USB message because K70 RGB locks up on Linux otherwise --- .../CorsairPeripheralController.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Controllers/CorsairPeripheralController/CorsairPeripheralController.cpp b/Controllers/CorsairPeripheralController/CorsairPeripheralController.cpp index 2aed298d..bd725bf9 100644 --- a/Controllers/CorsairPeripheralController/CorsairPeripheralController.cpp +++ b/Controllers/CorsairPeripheralController/CorsairPeripheralController.cpp @@ -11,6 +11,17 @@ #include +#ifdef WIN32 +#include +#else +#include + +static void Sleep(unsigned int milliseconds) +{ + usleep(1000 * milliseconds); +} +#endif + static unsigned int keys[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0C, 0x0D, 0x0E, 0x0F, 0x11, 0x12, 0x14, 0x15, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x24, 0x25, 0x26, 0x27, 0x28, 0x2A, 0x2B, 0x2C, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, @@ -30,6 +41,8 @@ static void send_usb_msg(hid_device* dev, char * data_pkt) } int bytes = hid_send_feature_report(dev, (unsigned char *)usb_pkt, 65); bytes++; + + Sleep(1); } CorsairPeripheralController::CorsairPeripheralController(hid_device* dev_handle)