Commit 2ca041d2945f56d434f37201580b6b0198cfdef0

Sam Lantinga 2023-10-22T09:10:14

Revert "Check to make sure the Windows joystick device has buttons and axes" This reverts commit 642504bc5993a6acd4d9c1d4c1314c6b1cf6e4e1. We have SDL_HINT_JOYSTICK_ROG_CHAKRAM to ignore or allow the ROG Chakram X mouse to be used as a joystick. Fixes https://github.com/libsdl-org/SDL/issues/8227 (cherry picked from commit e5a15f94e2f1a8fbbffb25ea9932cda9679a68fd) (cherry picked from commit e3e41b69a1060d87dfe635a35ed56cba23574aaa)

diff --git a/src/joystick/windows/SDL_dinputjoystick.c b/src/joystick/windows/SDL_dinputjoystick.c
index 9299619..777fca4 100644
--- a/src/joystick/windows/SDL_dinputjoystick.c
+++ b/src/joystick/windows/SDL_dinputjoystick.c
@@ -453,7 +453,6 @@ static BOOL CALLBACK EnumJoystickDetectCallback(LPCDIDEVICEINSTANCE pDeviceInsta
     char *hidPath = NULL;
     char *name = NULL;
     LPDIRECTINPUTDEVICE8 device = NULL;
-    DIDEVCAPS caps;
 
     /* We are only supporting HID devices. */
     CHECK(pDeviceInstance->dwDevType & DIDEVTYPE_HID);
@@ -463,13 +462,6 @@ static BOOL CALLBACK EnumJoystickDetectCallback(LPCDIDEVICEINSTANCE pDeviceInsta
     CHECK(QueryDevicePath(device, &hidPath));
     CHECK(QueryDeviceInfo(device, &vendor, &product));
 
-    /* Check to make sure the device has buttons and axes.
-     * This fixes incorrectly detecting the ROG CHAKRAM X mouse as a game controller on Windows 10
-     */
-    caps.dwSize = sizeof(caps);
-    CHECK(SUCCEEDED(IDirectInputDevice8_GetCapabilities(device, &caps)));
-    CHECK(caps.dwAxes > 0 && caps.dwButtons > 0);
-
     CHECK(!SDL_IsXInputDevice(vendor, product, hidPath));
 
     pNewJoystick = *(JoyStick_DeviceData **)pContext;