diff --git a/Source/Core/InputCommon/ControllerInterface/SDL/SDLGamepad.cpp b/Source/Core/InputCommon/ControllerInterface/SDL/SDLGamepad.cpp index 09457598c6..6fcba14e8e 100644 --- a/Source/Core/InputCommon/ControllerInterface/SDL/SDLGamepad.cpp +++ b/Source/Core/InputCommon/ControllerInterface/SDL/SDLGamepad.cpp @@ -327,6 +327,9 @@ bool Gamepad::Button::IsMatchingName(std::string_view name) const return true; // Match the old "Button 0"-like names. + if (m_binding.output_type == SDL_GAMEPAD_BINDTYPE_BUTTON) + return name == GetLegacyButtonName(m_binding.output.button); + switch (m_binding.input_type) { case SDL_GAMEPAD_BINDTYPE_BUTTON: diff --git a/Source/Core/InputCommon/ControllerInterface/SDL/SDLGamepad.h b/Source/Core/InputCommon/ControllerInterface/SDL/SDLGamepad.h index a997437f61..e63357bf78 100644 --- a/Source/Core/InputCommon/ControllerInterface/SDL/SDLGamepad.h +++ b/Source/Core/InputCommon/ControllerInterface/SDL/SDLGamepad.h @@ -380,7 +380,7 @@ struct SDLMotionAxis }; using SDLMotionAxisList = std::array; -static constexpr std::array s_sdl_button_names = { +static constexpr std::array s_sdl_button_names = { "Button S", // SDL_GAMEPAD_BUTTON_SOUTH "Button E", // SDL_GAMEPAD_BUTTON_EAST "Button W", // SDL_GAMEPAD_BUTTON_WEST @@ -402,6 +402,11 @@ static constexpr std::array s_sdl_button_names = { "Paddle 3", // SDL_GAMEPAD_BUTTON_RIGHT_PADDLE2 "Paddle 4", // SDL_GAMEPAD_BUTTON_LEFT_PADDLE2 "Touchpad", // SDL_GAMEPAD_BUTTON_TOUCHPAD + "Misc 2", // SDL_GAMEPAD_BUTTON_MISC2 + "Misc 3", // SDL_GAMEPAD_BUTTON_MISC3 + "Misc 4", // SDL_GAMEPAD_BUTTON_MISC4 + "Misc 5", // SDL_GAMEPAD_BUTTON_MISC5 + "Misc 6" // SDL_GAMEPAD_BUTTON_MISC6 }; static constexpr std::array s_sdl_axis_names = { "Left X", // SDL_GAMEPAD_AXIS_LEFTX