From 002fc4f2b3b78a85f3b99de1e4a6bc78a34346ca Mon Sep 17 00:00:00 2001 From: Cheerpipe Date: Sat, 26 Jun 2021 13:28:29 -0400 Subject: [PATCH] Fix Logitech G815 keyboard freezing Keyboard may freeze when running GHUB and OpenRGB at the same time. This fixes this. Commits squashed by Adam Honse --- Controllers/LogitechController/LogitechG815Controller.cpp | 4 ++-- Controllers/LogitechController/LogitechG815Controller.h | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Controllers/LogitechController/LogitechG815Controller.cpp b/Controllers/LogitechController/LogitechG815Controller.cpp index 4fc0c5d5..f9946b1a 100644 --- a/Controllers/LogitechController/LogitechG815Controller.cpp +++ b/Controllers/LogitechController/LogitechG815Controller.cpp @@ -90,7 +90,7 @@ void LogitechG815Controller::SendCommit() | Send packet | \*-----------------------------------------------------*/ hid_write(dev_pkt_0x11, (unsigned char *)usb_buf, 20); - hid_read(dev_pkt_0x11, (unsigned char *)usb_buf, 20); + hid_read_timeout(dev_pkt_0x11, (unsigned char *)usb_buf, 20, LOGITECH_READ_TIMEOUT); } void LogitechG815Controller::InitializeDirect() @@ -243,7 +243,7 @@ void LogitechG815Controller::SendDirectFrame | Send packet | \*-----------------------------------------------------*/ hid_write(dev_pkt_0x11, (unsigned char *)usb_buf, 20); - hid_read(dev_pkt_0x11, (unsigned char *)usb_buf, 20); + hid_read_timeout(dev_pkt_0x11, (unsigned char *)usb_buf, 20, LOGITECH_READ_TIMEOUT); } void LogitechG815Controller::SendMode diff --git a/Controllers/LogitechController/LogitechG815Controller.h b/Controllers/LogitechController/LogitechG815Controller.h index a42ed8ba..1fd29f2d 100644 --- a/Controllers/LogitechController/LogitechG815Controller.h +++ b/Controllers/LogitechController/LogitechG815Controller.h @@ -12,7 +12,8 @@ #include #include -const size_t LOGITECH_G815_COMMIT_BYTE = 0x7F; +#define LOGITECH_G815_COMMIT_BYTE 0x7F +#define LOGITECH_READ_TIMEOUT 300 //Timeout in ms #pragma once