hid: Cleanup Windows joystick blacklist code, to make additions easier.

This commit is contained in:
Ryan C. Gordon 2020-05-06 03:13:44 -04:00
parent b0a20a153c
commit 85d97410d4

View File

@ -314,28 +314,21 @@ int HID_API_EXPORT hid_exit(void)
int hid_blacklist(unsigned short vendor_id, unsigned short product_id) int hid_blacklist(unsigned short vendor_id, unsigned short product_id)
{ {
// Corsair Gaming keyboard - Causes deadlock when asking for device details size_t i;
if ( vendor_id == 0x1B1C && product_id == 0x1B3D ) static const struct { unsigned short vid; unsigned short pid; } known_bad[] = {
{ /* Causes deadlock when asking for device details... */
{ 0x1B1C, 0x1B3D }, /* Corsair Gaming keyboard */
{ 0x1532, 0x0109 }, /* Razer Lycosa Gaming keyboard */
{ 0x1532, 0x010B }, /* Razer Arctosa Gaming keyboard */
/* Turns into an Android controller when enumerated... */
{ 0x0738, 0x2217 } /* SPEEDLINK COMPETITION PRO */
};
for (i = 0; i < SDL_arraysize(known_bad); i++) {
if ((vendor_id == known_bad[i].vid) && (product_id == known_bad[i].pid)) {
return 1; return 1;
} }
// Razer Lycosa Gaming keyboard - Causes deadlock when asking for device details
if ( vendor_id == 0x1532 && product_id == 0x0109 )
{
return 1;
}
// Razer Arctosa Gaming keyboard - Causes deadlock when asking for device details
if ( vendor_id == 0x1532 && product_id == 0x010B )
{
return 1;
}
// SPEEDLINK COMPETITION PRO - turns into an Android controller when enumerated
if ( vendor_id == 0x0738 && product_id == 0x2217 )
{
return 1;
} }
return 0; return 0;