The new Wii Remote shares the same VID/PID as the Wii U Pro controller

This commit is contained in:
Sam Lantinga 2022-09-07 12:33:43 -07:00
parent f398d8a424
commit d93f9a778b
2 changed files with 5 additions and 10 deletions

View File

@ -177,10 +177,9 @@ HIDAPI_DriverWii_IsEnabled(void)
static SDL_bool
HIDAPI_DriverWii_IsSupportedDevice(SDL_HIDAPI_Device *device, const char *name, SDL_GameControllerType type, Uint16 vendor_id, Uint16 product_id, Uint16 version, int interface_number, int interface_class, int interface_subclass, int interface_protocol)
{
if (vendor_id == USB_VENDOR_NINTENDO && product_id == USB_PRODUCT_NINTENDO_WII_PRO) {
return SDL_TRUE;
}
if (vendor_id == USB_VENDOR_NINTENDO && product_id == USB_PRODUCT_NINTENDO_WII_REMOTE) {
if (vendor_id == USB_VENDOR_NINTENDO &&
(product_id == USB_PRODUCT_NINTENDO_WII_REMOTE ||
product_id == USB_PRODUCT_NINTENDO_WII_REMOTE2)) {
return SDL_TRUE;
}
return SDL_FALSE;
@ -752,11 +751,7 @@ HIDAPI_DriverWii_InitDevice(SDL_HIDAPI_Device *device)
if (device->vendor_id == USB_VENDOR_NINTENDO) {
EWiiExtensionControllerType eExtensionControllerType;
if (device->product_id == USB_PRODUCT_NINTENDO_WII_PRO) {
eExtensionControllerType = k_eWiiExtensionControllerType_WiiUPro;
} else {
eExtensionControllerType = ReadExtensionControllerType(device);
}
eExtensionControllerType = ReadExtensionControllerType(device);
device->guid.data[15] = eExtensionControllerType;
UpdateDeviceIdentity(device);
}

View File

@ -57,8 +57,8 @@
#define USB_PRODUCT_NINTENDO_SWITCH_JOYCON_PAIR 0x2008 /* Used by joycond */
#define USB_PRODUCT_NINTENDO_SWITCH_JOYCON_RIGHT 0x2007
#define USB_PRODUCT_NINTENDO_SWITCH_PRO 0x2009
#define USB_PRODUCT_NINTENDO_WII_PRO 0x0330
#define USB_PRODUCT_NINTENDO_WII_REMOTE 0x0306
#define USB_PRODUCT_NINTENDO_WII_REMOTE2 0x0330
#define USB_PRODUCT_NVIDIA_SHIELD_CONTROLLER 0x7214
#define USB_PRODUCT_RAZER_PANTHERA 0x0401
#define USB_PRODUCT_RAZER_PANTHERA_EVO 0x1008