Просмотр исходного кода

Don't use the fake HID endpoint for Xbox controllers on Windows

Sam Lantinga 1 неделя назад
Родитель
Сommit
d5fca9628a
1 измененных файлов с 7 добавлено и 1 удалено
  1. 7 1
      src/joystick/hidapi/SDL_hidapi_xboxone.c

+ 7 - 1
src/joystick/hidapi/SDL_hidapi_xboxone.c

@@ -34,7 +34,7 @@
 // #define DEBUG_JOYSTICK
 
 // Define this if you want to log all packets from the controller
-#if 0
+#if 1
 #define DEBUG_XBOX_PROTOCOL
 #endif
 
@@ -374,6 +374,12 @@ static bool HIDAPI_DriverXboxOne_IsSupportedDevice(SDL_HIDAPI_Device *device, co
         // we'll just use the GCController support instead.
         return false;
     }
+#endif
+#ifdef SDL_PLATFORM_WIN32
+    if (SDL_strncmp(device->path, "\\\\?\\HID#", 8) == 0) {
+        // Windows provides a fake HID endpoint for XGIP controllers, don't use this
+        return false;
+    }
 #endif
     if (interface_class &&
         (interface_class != LIBUSB_CLASS_VENDOR_SPEC ||