diff --git a/src/joystick/SDL_joystick.c b/src/joystick/SDL_joystick.c index 3e3fb95d5b..1b8278fc12 100644 --- a/src/joystick/SDL_joystick.c +++ b/src/joystick/SDL_joystick.c @@ -3163,6 +3163,7 @@ SDL_GamepadType SDL_GetGamepadTypeFromVIDPID(Uint16 vendor, Uint16 product, cons } break; case k_eControllerType_SwitchProController: + case k_eControllerType_Switch2ProController: case k_eControllerType_SwitchInputOnlyController: type = SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_PRO; break; @@ -3287,7 +3288,9 @@ bool SDL_IsJoystickDualSenseEdge(Uint16 vendor_id, Uint16 product_id) bool SDL_IsJoystickNintendoSwitchPro(Uint16 vendor_id, Uint16 product_id) { EControllerType eType = GuessControllerType(vendor_id, product_id); - return eType == k_eControllerType_SwitchProController || eType == k_eControllerType_SwitchInputOnlyController; + return eType == k_eControllerType_SwitchProController || + eType == k_eControllerType_Switch2ProController || + eType == k_eControllerType_SwitchInputOnlyController; } bool SDL_IsJoystickNintendoSwitchProInputOnly(Uint16 vendor_id, Uint16 product_id) diff --git a/src/joystick/controller_list.h b/src/joystick/controller_list.h index 7b53741a53..428035427e 100644 --- a/src/joystick/controller_list.h +++ b/src/joystick/controller_list.h @@ -601,7 +601,7 @@ static const ControllerDescription_t arrControllers[] = { // * ZhiXu Gamepad Wireless // * Sunwaytek Wireless Motion Controller for Nintendo Switch { MAKE_CONTROLLER_ID( 0x057e, 0x2009 ), k_eControllerType_SwitchProController, NULL }, // Nintendo Switch Pro Controller - { MAKE_CONTROLLER_ID( 0x057e, 0x2069 ), k_eControllerType_SwitchProController, NULL }, // Nintendo Switch 2 Pro Controller + { MAKE_CONTROLLER_ID( 0x057e, 0x2069 ), k_eControllerType_Switch2ProController, NULL }, // Nintendo Switch 2 Pro Controller //{ MAKE_CONTROLLER_ID( 0x057e, 0x2017 ), k_eControllerType_SwitchProController, NULL }, // Nintendo Online SNES Controller //{ MAKE_CONTROLLER_ID( 0x057e, 0x2019 ), k_eControllerType_SwitchProController, NULL }, // Nintendo Online N64 Controller //{ MAKE_CONTROLLER_ID( 0x057e, 0x201e ), k_eControllerType_SwitchProController, NULL }, // Nintendo Online SEGA Genesis Controller diff --git a/src/joystick/controller_type.h b/src/joystick/controller_type.h index cc49ae6f3c..028a83dfac 100644 --- a/src/joystick/controller_type.h +++ b/src/joystick/controller_type.h @@ -63,6 +63,7 @@ typedef enum k_eControllerType_PS5EdgeController = 48, k_eControllerType_HoriSteamController = 49, k_eControllerType_8BitDoController = 50, + k_eControllerType_Switch2ProController = 51, k_eControllerType_LastController, // Don't add game controllers below this enumeration - this enumeration can change value // Keyboards and Mice