diff --git a/src/joystick/SDL_joystick.c b/src/joystick/SDL_joystick.c index 552d105fe..c08a20421 100644 --- a/src/joystick/SDL_joystick.c +++ b/src/joystick/SDL_joystick.c @@ -2346,13 +2346,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; + } } return SDL_FALSE; } diff --git a/src/joystick/usb_ids.h b/src/joystick/usb_ids.h index 51379191c..91d6192a4 100644 --- a/src/joystick/usb_ids.h +++ b/src/joystick/usb_ids.h @@ -52,6 +52,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