diff --git a/src/joystick/SDL_joystick.c b/src/joystick/SDL_joystick.c index 439b1c179a..062d0626af 100644 --- a/src/joystick/SDL_joystick.c +++ b/src/joystick/SDL_joystick.c @@ -2503,13 +2503,10 @@ SDL_bool SDL_IsJoystickXboxSeriesX(Uint16 vendor_id, Uint16 product_id) } } if (vendor_id == USB_VENDOR_8BITDO) { - /* 8BitDo started making Xbox form factor controllers after the Series X - * release, so we'll assume for now that they all have the share button. - * - * We know for sure that the Ultimate Wired Controller for Xbox (0x2002) - * and the Ultimate Wireless / Pro 2 Wired Controller (0x3106) have them. - */ - return SDL_TRUE; + if (product_id == USB_PRODUCT_8BITDO_XBOX_CONTROLLER1 || + product_id == USB_PRODUCT_8BITDO_XBOX_CONTROLLER2) { + return SDL_TRUE; + } } if (vendor_id == USB_VENDOR_GAMESIR) { if (product_id == USB_PRODUCT_GAMESIR_G7) { diff --git a/src/joystick/usb_ids.h b/src/joystick/usb_ids.h index 172f564419..875e988955 100644 --- a/src/joystick/usb_ids.h +++ b/src/joystick/usb_ids.h @@ -55,6 +55,8 @@ #define USB_VENDOR_VALVE 0x28de #define USB_VENDOR_ZEROPLUS 0x0c12 +#define USB_PRODUCT_8BITDO_XBOX_CONTROLLER1 0x2002 /* Ultimate Wired Controller for Xbox */ +#define USB_PRODUCT_8BITDO_XBOX_CONTROLLER2 0x3106 /* Ultimate Wireless / Pro 2 Wired Controller */ #define USB_PRODUCT_AMAZON_LUNA_CONTROLLER 0x0419 #define USB_PRODUCT_ASTRO_C40_XBOX360 0x0024 #define USB_PRODUCT_BACKBONE_ONE_IOS 0x0103