Procházet zdrojové kódy

Don't send Razer devices the Sony third-party query feature report

Some of them lock up or reset, and the vast majority of devices are not actually game controllers.

Fixes https://github.com/libsdl-org/SDL/issues/6733

(cherry picked from commit 83b29f9ce1fe6caa06769544c3b5f6c10ea97a0f)
Sam Lantinga před 2 roky
rodič
revize
690e2f21f2
2 změnil soubory, kde provedl 5 přidání a 2 odebrání
  1. 0 1
      src/joystick/SDL_joystick.c
  2. 5 1
      src/joystick/usb_ids.h

+ 0 - 1
src/joystick/SDL_joystick.c

@@ -2689,7 +2689,6 @@ SDL_bool SDL_ShouldIgnoreJoystick(const char *name, SDL_JoystickGUID guid)
         MAKE_VIDPID(0x04d9, 0x8009), /* OBINLB USB-HID Keyboard (Anne Pro II) */
         MAKE_VIDPID(0x04d9, 0xa292), /* OBINLB USB-HID Keyboard (Anne Pro II) */
         MAKE_VIDPID(0x04d9, 0xa293), /* OBINLB USB-HID Keyboard (Anne Pro II) */
-        MAKE_VIDPID(0x1532, 0x0226), /* Razer Huntsman Elite */
         MAKE_VIDPID(0x1532, 0x0266), /* Razer Huntsman V2 Analog, non-functional DInput device */
         MAKE_VIDPID(0x1532, 0x0282), /* Razer Huntsman Mini Analog, non-functional DInput device */
         MAKE_VIDPID(0x26ce, 0x01a2), /* ASRock LED Controller */

+ 5 - 1
src/joystick/usb_ids.h

@@ -48,6 +48,11 @@
 #define USB_VENDOR_VALVE        0x28de
 #define USB_VENDOR_ZEROPLUS     0x0c12
 
+// Most Razer devices are not game controllers, and some of them lock up or reset
+// when we send them the Sony third-party query feature report, so don't include that
+// vendor here. Instead add devices as appropriate to controller_type.c
+// Reference: https://github.com/libsdl-org/SDL/issues/6733
+//            https://github.com/libsdl-org/SDL/issues/6799
 #define SONY_THIRDPARTY_VENDOR(X)       \
     (X == USB_VENDOR_DRAGONRISE     ||  \
      X == USB_VENDOR_HORI           ||  \
@@ -57,7 +62,6 @@
      X == USB_VENDOR_POWERA         ||  \
      X == USB_VENDOR_POWERA_ALT     ||  \
      X == USB_VENDOR_QANBA          ||  \
-     X == USB_VENDOR_RAZER          ||  \
      X == USB_VENDOR_SHANWAN        ||  \
      X == USB_VENDOR_SHANWAN_ALT    ||  \
      X == USB_VENDOR_THRUSTMASTER   ||  \