The new Wii Remote shares the same VID/PID as the Wii U Pro controller
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
diff --git a/src/joystick/hidapi/SDL_hidapi_wii.c b/src/joystick/hidapi/SDL_hidapi_wii.c
index 09d23be..77e8ab8 100644
--- a/src/joystick/hidapi/SDL_hidapi_wii.c
+++ b/src/joystick/hidapi/SDL_hidapi_wii.c
@@ -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);
}
diff --git a/src/joystick/usb_ids.h b/src/joystick/usb_ids.h
index b650c2e..b0ce5fe 100644
--- a/src/joystick/usb_ids.h
+++ b/src/joystick/usb_ids.h
@@ -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