mirror of
https://github.com/love2d/love.git
synced 2026-08-14 01:20:56 +02:00
Fixed love.joystick.loadGamepadMappings to properly enable currently connected Joysticks as Gamepads when necessary.
This commit is contained in:
@@ -86,12 +86,15 @@ public:
|
||||
virtual Joystick::JoystickInput getGamepadMapping(const std::string &pguid, Joystick::GamepadInput gpinput) = 0;
|
||||
|
||||
/**
|
||||
*
|
||||
* Loads a newline-separated list of virtual Gamepad mapping strings for
|
||||
* multiple joysticks at a time. The mapping strings must have been
|
||||
* generated with saveGamepadMapping, via Steam, or some other tool which
|
||||
* generates SDL GameController mappings.
|
||||
**/
|
||||
virtual void loadGamepadMappings(const std::string &mappings) = 0;
|
||||
|
||||
/**
|
||||
*
|
||||
* Gets the virtual Gamepad mapping string for the specified joystick GUID.
|
||||
**/
|
||||
virtual std::string saveGamepadMapping(const std::string &pguid) = 0;
|
||||
|
||||
|
||||
@@ -496,6 +496,14 @@ void JoystickModule::loadGamepadMappings(const std::string &mappings)
|
||||
}
|
||||
|
||||
success = success || (SDL_GameControllerAddMapping(mapping.c_str()) != -1);
|
||||
|
||||
if (success)
|
||||
{
|
||||
// FIXME: massive hack until missing APIs are added to SDL 2:
|
||||
// https://bugzilla.libsdl.org/show_bug.cgi?id=1975
|
||||
std::string guid = mapping.substr(0, mapping.find_first_of(','));
|
||||
checkGamepads(guid);
|
||||
}
|
||||
}
|
||||
|
||||
if (!success)
|
||||
|
||||
Reference in New Issue
Block a user