Load mapping for sdl_gamepad through loadMapping() and getDefaultMapping() instead of custom implementation

This commit is contained in:
James Smith 2025-04-11 10:41:49 -06:00 committed by flyinghead
parent 332be9c8aa
commit 1273c06d4b
2 changed files with 8 additions and 5 deletions

View File

@ -129,6 +129,8 @@ protected:
void loadMapping() {
if (!find_mapping())
input_mapper = getDefaultMapping();
else
INFO_LOG(INPUT, "using custom mapping '%s'", input_mapper->name.c_str());
}
virtual std::shared_ptr<InputMapping> getDefaultMapping() {
return std::make_shared<IdentityInputMapping>();

View File

@ -196,10 +196,7 @@ public:
}
}
if (!find_mapping())
input_mapper = std::make_shared<DefaultInputMapping<>>(sdl_controller);
else
INFO_LOG(INPUT, "using custom mapping '%s'", input_mapper->name.c_str());
loadMapping();
hasAnalogStick = SDL_JoystickNumAxes(sdl_joystick) > 0;
set_maple_port(maple_port);
@ -605,6 +602,11 @@ public:
return nullptr;
}
std::shared_ptr<InputMapping> getDefaultMapping() override
{
return std::make_shared<DefaultInputMapping<>>(sdl_controller);
}
void resetMappingToDefault(bool arcade, bool gamepad) override
{
NOTICE_LOG(INPUT, "Resetting SDL gamepad to default: %d %d", arcade, gamepad);
@ -699,4 +701,3 @@ public:
void setAbsPos(int x, int y);
};