Blacklist Corsair device causing hang

Jimb Esser 2019-07-14 16:48:31 -07:00
parent 8fb8adfc90
commit 6a7161dceb
1 changed files with 8 additions and 1 deletions

View File

@ -296,6 +296,12 @@ int HID_API_EXPORT hid_exit(void)
return 0;
}
int hid_blacklist(unsigned short vendor_id, unsigned short product_id)
{
return vendor_id == 0x1B1C && // (Corsair)
product_id == 0x1B3D; // Gaming keyboard? Causes deadlock when asking for device details
}
struct hid_device_info HID_API_EXPORT * HID_API_CALL hid_enumerate(unsigned short vendor_id, unsigned short product_id)
{
BOOL res;
@ -424,7 +430,8 @@ struct hid_device_info HID_API_EXPORT * HID_API_CALL hid_enumerate(unsigned shor
/* Check the VID/PID to see if we should add this
device to the enumeration list. */
if ((vendor_id == 0x0 || attrib.VendorID == vendor_id) &&
(product_id == 0x0 || attrib.ProductID == product_id)) {
(product_id == 0x0 || attrib.ProductID == product_id) &&
!hid_blacklist(attrib.VendorID, attrib.ProductID)) {
#define WSTR_LEN 512
const char *str;