mirror of
https://github.com/Ryujinx/Opentk.git
synced 2025-02-24 17:56:48 +00:00
[SDL2] Fixed joystick/controller hotplugging support
This commit is contained in:
parent
9c8a5f5028
commit
d4348c5083
|
@ -303,11 +303,13 @@ namespace OpenTK.Platform.SDL2
|
||||||
case EventType.JOYDEVICEREMOVED:
|
case EventType.JOYDEVICEREMOVED:
|
||||||
if (IsJoystickInstanceValid(id))
|
if (IsJoystickInstanceValid(id))
|
||||||
{
|
{
|
||||||
int instance_id = sdl_instanceid_to_joysticks[id];
|
int instance_id = id;
|
||||||
sdl_instanceid_to_joysticks.Remove(id);
|
int device_id = sdl_instanceid_to_joysticks[instance_id];
|
||||||
|
|
||||||
JoystickDevice<Sdl2JoystickDetails> joystick = (JoystickDevice<Sdl2JoystickDetails>)joysticks[instance_id];
|
JoystickDevice<Sdl2JoystickDetails> joystick = (JoystickDevice<Sdl2JoystickDetails>)joysticks[device_id];
|
||||||
joystick.Details.IsConnected = false;
|
joystick.Details.IsConnected = false;
|
||||||
|
|
||||||
|
sdl_instanceid_to_joysticks.Remove(instance_id);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -436,8 +438,11 @@ namespace OpenTK.Platform.SDL2
|
||||||
case EventType.CONTROLLERDEVICEREMOVED:
|
case EventType.CONTROLLERDEVICEREMOVED:
|
||||||
if (IsControllerInstanceValid(id))
|
if (IsControllerInstanceValid(id))
|
||||||
{
|
{
|
||||||
controllers[id].State.SetConnected(false);
|
int instance_id = id;
|
||||||
sdl_instanceid_to_controllers.Remove(id);
|
int device_id = sdl_instanceid_to_controllers[instance_id];
|
||||||
|
|
||||||
|
controllers[device_id].State.SetConnected(false);
|
||||||
|
sdl_instanceid_to_controllers.Remove(device_id);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue