Set joystick_type for known ps3/wii instruments (#15111)

This commit is contained in:
Sanjay Govind
2026-02-25 14:26:46 +13:00
committed by GitHub
parent 1419bcb6cb
commit a7ccd48957
2 changed files with 46 additions and 0 deletions

View File

@@ -676,6 +676,39 @@ static bool HIDAPI_DriverPS3ThirdParty_InitDevice(SDL_HIDAPI_Device *device)
HIDAPI_SetDeviceName(device, "Logitech ChillStream");
}
if (device->vendor_id == USB_VENDOR_HARMONIX) {
switch (device->product_id) {
case USB_PRODUCT_HARMONIX_WII_RB1_GUITAR:
case USB_PRODUCT_HARMONIX_WII_RB2_GUITAR:
device->joystick_type = SDL_JOYSTICK_TYPE_GUITAR;
break;
case USB_PRODUCT_HARMONIX_WII_RB1_DRUMS:
case USB_PRODUCT_HARMONIX_WII_RB2_DRUMS:
case USB_PRODUCT_HARMONIX_WII_RB3_MPA_DRUMS_MODE:
device->joystick_type = SDL_JOYSTICK_TYPE_DRUM_KIT;
break;
default:
break;
}
}
if (device->vendor_id == USB_VENDOR_SCEA) {
switch (device->product_id) {
case USB_PRODUCT_SCEA_PS3_GH_GUITAR:
case USB_PRODUCT_SCEA_PS3_RB_GUITAR:
case USB_PRODUCT_SCEA_PS3WIIU_GHLIVE:
device->joystick_type = SDL_JOYSTICK_TYPE_GUITAR;
break;
case USB_PRODUCT_SCEA_PS3_GH_DRUMS:
case USB_PRODUCT_SCEA_PS3_RB_DRUMS:
case USB_PRODUCT_SCEA_PS3_RB3_MPA_DRUMS_MODE:
device->joystick_type = SDL_JOYSTICK_TYPE_DRUM_KIT;
break;
default:
break;
}
}
return HIDAPI_JoystickConnected(device, NULL);
}

View File

@@ -35,6 +35,7 @@
#define USB_VENDOR_FLYDIGI_V1 0x04b4
#define USB_VENDOR_FLYDIGI_V2 0x37d7
#define USB_VENDOR_GOOGLE 0x18d1
#define USB_VENDOR_HARMONIX 0x1bad
#define USB_VENDOR_HORI 0x0f0d
#define USB_VENDOR_HP 0x03f0
#define USB_VENDOR_HYPERKIN 0x2e24
@@ -52,6 +53,7 @@
#define USB_VENDOR_QANBA 0x2c22
#define USB_VENDOR_RAZER 0x1532
#define USB_VENDOR_SAITEK 0x06a3
#define USB_VENDOR_SCEA 0x12ba
#define USB_VENDOR_SHANWAN 0x2563
#define USB_VENDOR_SHANWAN_ALT 0x20bc
#define USB_VENDOR_SONY 0x054c
@@ -86,6 +88,11 @@
#define USB_PRODUCT_FLYDIGI_V2_APEX 0x2501
#define USB_PRODUCT_FLYDIGI_V2_VADER 0x2401
#define USB_PRODUCT_GAMESIR_GAMEPAD_G7_PRO_8K 0x10B8 // Wired/2.4G/Bluetooth 8K mode
#define USB_PRODUCT_HARMONIX_WII_RB1_GUITAR 0x0004
#define USB_PRODUCT_HARMONIX_WII_RB1_DRUMS 0x0005
#define USB_PRODUCT_HARMONIX_WII_RB2_GUITAR 0x3010
#define USB_PRODUCT_HARMONIX_WII_RB2_DRUMS 0x3110
#define USB_PRODUCT_HARMONIX_WII_RB3_MPA_DRUMS_MODE 0x3138
#define USB_PRODUCT_HORI_FIGHTING_STICK_ALPHA_PS4 0x011c
#define USB_PRODUCT_HORI_FIGHTING_STICK_ALPHA_PS5 0x0184
#define USB_PRODUCT_HORI_FIGHTING_STICK_ALPHA_PS5 0x0184
@@ -139,6 +146,12 @@
#define USB_PRODUCT_RAZER_WOLVERINE_V2_PRO_XBOX_WIRELESS 0x1011
#define USB_PRODUCT_RAZER_WOLVERINE_V3_PRO 0x0a3f
#define USB_PRODUCT_SAITEK_CYBORG_V3 0xf622
#define USB_PRODUCT_SCEA_PS3_GH_GUITAR 0x0100
#define USB_PRODUCT_SCEA_PS3_GH_DRUMS 0x0120
#define USB_PRODUCT_SCEA_PS3_RB_GUITAR 0x0200
#define USB_PRODUCT_SCEA_PS3_RB_DRUMS 0x0210
#define USB_PRODUCT_SCEA_PS3_RB3_MPA_DRUMS_MODE 0x0218
#define USB_PRODUCT_SCEA_PS3WIIU_GHLIVE 0x074b
#define USB_PRODUCT_SHANWAN_DS3 0x0523
#define USB_PRODUCT_SONY_DS3 0x0268
#define USB_PRODUCT_SONY_DS4 0x05c4