Added support for the 8BitDo Ultimate Wired Controller for Xbox

This commit is contained in:
Sam Lantinga 2022-07-20 11:05:55 -07:00
parent b700a32630
commit be3a945a8b
6 changed files with 11 additions and 0 deletions

View File

@ -278,6 +278,7 @@ public class HIDDeviceManager {
0x1532, // Razer Wildcat 0x1532, // Razer Wildcat
0x20d6, // PowerA 0x20d6, // PowerA
0x24c6, // PowerA 0x24c6, // PowerA
0x2dc8, /* 8BitDo */
0x2e24, // Hyperkin 0x2e24, // Hyperkin
}; };

View File

@ -664,6 +664,7 @@ static int is_xboxone(unsigned short vendor_id, const struct libusb_interface_de
0x1532, /* Razer Wildcat */ 0x1532, /* Razer Wildcat */
0x20d6, /* PowerA */ 0x20d6, /* PowerA */
0x24c6, /* PowerA */ 0x24c6, /* PowerA */
0x2dc8, /* 8BitDo */
0x2e24, /* Hyperkin */ 0x2e24, /* Hyperkin */
}; };

View File

@ -2077,6 +2077,11 @@ SDL_IsJoystickXboxSeriesX(Uint16 vendor_id, Uint16 product_id)
return SDL_TRUE; return SDL_TRUE;
} }
} }
if (vendor_id == USB_VENDOR_8BITDO) {
if (product_id == USB_PRODUCT_8BITDO_XBOX_CONTROLLER) {
return SDL_TRUE;
}
}
return SDL_FALSE; return SDL_FALSE;
} }

View File

@ -406,6 +406,7 @@ static const ControllerDescription_t arrControllers[] = {
{ MAKE_CONTROLLER_ID( 0x24c6, 0x591a ), k_eControllerType_XBoxOneController, NULL }, // PowerA FUSION Pro Controller { MAKE_CONTROLLER_ID( 0x24c6, 0x591a ), k_eControllerType_XBoxOneController, NULL }, // PowerA FUSION Pro Controller
{ MAKE_CONTROLLER_ID( 0x24c6, 0x592a ), k_eControllerType_XBoxOneController, NULL }, // BDA XB1 Spectra Pro { MAKE_CONTROLLER_ID( 0x24c6, 0x592a ), k_eControllerType_XBoxOneController, NULL }, // BDA XB1 Spectra Pro
{ MAKE_CONTROLLER_ID( 0x24c6, 0x791a ), k_eControllerType_XBoxOneController, NULL }, // PowerA Fusion Fight Pad { MAKE_CONTROLLER_ID( 0x24c6, 0x791a ), k_eControllerType_XBoxOneController, NULL }, // PowerA Fusion Fight Pad
{ MAKE_CONTROLLER_ID( 0x2dc8, 0x2002 ), k_eControllerType_XBoxOneController, NULL }, // 8BitDo Ultimate Wired Controller for Xbox
{ MAKE_CONTROLLER_ID( 0x2e24, 0x0652 ), k_eControllerType_XBoxOneController, NULL }, // Hyperkin Duke { MAKE_CONTROLLER_ID( 0x2e24, 0x0652 ), k_eControllerType_XBoxOneController, NULL }, // Hyperkin Duke
{ MAKE_CONTROLLER_ID( 0x2e24, 0x1618 ), k_eControllerType_XBoxOneController, NULL }, // Hyperkin Duke { MAKE_CONTROLLER_ID( 0x2e24, 0x1618 ), k_eControllerType_XBoxOneController, NULL }, // Hyperkin Duke
{ MAKE_CONTROLLER_ID( 0x2e24, 0x1688 ), k_eControllerType_XBoxOneController, NULL }, // Hyperkin X91 { MAKE_CONTROLLER_ID( 0x2e24, 0x1688 ), k_eControllerType_XBoxOneController, NULL }, // Hyperkin X91

View File

@ -180,6 +180,7 @@ SDL_GetJoystickGameControllerProtocol(const char *name, Uint16 vendor, Uint16 pr
0x1532, /* Razer */ 0x1532, /* Razer */
0x20d6, /* PowerA */ 0x20d6, /* PowerA */
0x24c6, /* PowerA */ 0x24c6, /* PowerA */
0x2dc8, /* 8BitDo */
0x2e24, /* Hyperkin */ 0x2e24, /* Hyperkin */
}; };

View File

@ -24,6 +24,7 @@
/* Definitions of useful USB VID/PID values */ /* Definitions of useful USB VID/PID values */
#define USB_VENDOR_8BITDO 0x2dc8
#define USB_VENDOR_AMAZON 0x1949 #define USB_VENDOR_AMAZON 0x1949
#define USB_VENDOR_APPLE 0x05ac #define USB_VENDOR_APPLE 0x05ac
#define USB_VENDOR_GOOGLE 0x18d1 #define USB_VENDOR_GOOGLE 0x18d1
@ -39,6 +40,7 @@
#define USB_VENDOR_SONY 0x054c #define USB_VENDOR_SONY 0x054c
#define USB_VENDOR_VALVE 0x28de #define USB_VENDOR_VALVE 0x28de
#define USB_PRODUCT_8BITDO_XBOX_CONTROLLER 0x2002
#define USB_PRODUCT_AMAZON_LUNA_CONTROLLER 0x0419 #define USB_PRODUCT_AMAZON_LUNA_CONTROLLER 0x0419
#define USB_PRODUCT_GOOGLE_STADIA_CONTROLLER 0x9400 #define USB_PRODUCT_GOOGLE_STADIA_CONTROLLER 0x9400
#define USB_PRODUCT_EVORETRO_GAMECUBE_ADAPTER 0x1846 #define USB_PRODUCT_EVORETRO_GAMECUBE_ADAPTER 0x1846