Allow Valve devices in driver check, we know they're well behaved controllers
diff --git a/src/joystick/hidapi/SDL_hidapijoystick.c b/src/joystick/hidapi/SDL_hidapijoystick.c
index ad74461..04a1520 100644
--- a/src/joystick/hidapi/SDL_hidapijoystick.c
+++ b/src/joystick/hidapi/SDL_hidapijoystick.c
@@ -427,11 +427,13 @@ HIDAPI_GetDeviceDriver(SDL_HIDAPI_Device *device)
}
#endif
- if (device->usage_page && device->usage_page != USAGE_PAGE_GENERIC_DESKTOP) {
- return NULL;
- }
- if (device->usage && device->usage != USAGE_JOYSTICK && device->usage != USAGE_GAMEPAD && device->usage != USAGE_MULTIAXISCONTROLLER) {
- return NULL;
+ if (device->vendor_id != USB_VENDOR_VALVE) {
+ if (device->usage_page && device->usage_page != USAGE_PAGE_GENERIC_DESKTOP) {
+ return NULL;
+ }
+ if (device->usage && device->usage != USAGE_JOYSTICK && device->usage != USAGE_GAMEPAD && device->usage != USAGE_MULTIAXISCONTROLLER) {
+ return NULL;
+ }
}
type = SDL_GetJoystickGameControllerType(device->name, device->vendor_id, device->product_id, device->interface_number, device->interface_class, device->interface_subclass, device->interface_protocol);