Commit 97fe777ab4780f34ff9e5bf81e177bbc60321a62

Sam Lantinga 2023-06-03T11:39:03

Steam uses a different VID/PID for the Steam Virtual Gamepad on Windows (cherry picked from commit 6815e75cafee8e7caaacf1f428b6539c8bbc7f7d)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
diff --git a/src/joystick/hidapi/SDL_hidapi_xbox360.c b/src/joystick/hidapi/SDL_hidapi_xbox360.c
index 63e8f91..09d7ccb 100644
--- a/src/joystick/hidapi/SDL_hidapi_xbox360.c
+++ b/src/joystick/hidapi/SDL_hidapi_xbox360.c
@@ -84,13 +84,11 @@ static SDL_bool HIDAPI_DriverXbox360_IsSupportedDevice(SDL_HIDAPI_Device *device
         /* This is the chatpad or other input interface, not the Xbox 360 interface */
         return SDL_FALSE;
     }
-#if defined(__MACOSX__) || defined(__WIN32__)
-    if (vendor_id == USB_VENDOR_MICROSOFT && product_id == 0x028e && version == 1) {
+#def __MACOSX__
+    if (vendor_id == USB_VENDOR_MICROSOFT && product_id == USB_PRODUCT_XBOX360_WIRED_CONTROLLER && version == 1) {
         /* This is the Steam Virtual Gamepad, which isn't supported by this driver */
         return SDL_FALSE;
     }
-#endif
-#if defined(__MACOSX__)
     /* Wired Xbox One controllers are handled by this driver, interfacing with
        the 360Controller driver available from:
        https://github.com/360Controller/360Controller/releases