aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormageven <62494521+mageven@users.noreply.github.com>2022-10-17 00:04:42 +0530
committerGitHub <noreply@github.com>2022-10-16 20:34:42 +0200
commit49eadbc209fa27271eb6110b85776fdfd54a445c (patch)
tree4ac0b40d4c9d09d3960c90538a76b9b7c8f4f9fa
parent2df16ded9ba06a874b58132cc2c78175631a3b8d (diff)
Fix phantom configured Controllers (#3720)1.1.302
Enable guest controller only when a valid host controller is mapped.
-rw-r--r--Ryujinx.Input/HLE/NpadManager.cs16
1 files changed, 14 insertions, 2 deletions
diff --git a/Ryujinx.Input/HLE/NpadManager.cs b/Ryujinx.Input/HLE/NpadManager.cs
index b2269d5c..34e05687 100644
--- a/Ryujinx.Input/HLE/NpadManager.cs
+++ b/Ryujinx.Input/HLE/NpadManager.cs
@@ -51,7 +51,16 @@ namespace Ryujinx.Input.HLE
{
lock (_lock)
{
- _device.Hid.RefreshInputConfig(_inputConfig);
+ List<InputConfig> validInputs = new List<InputConfig>();
+ foreach (var inputConfigEntry in _inputConfig)
+ {
+ if (_controllers[(int)inputConfigEntry.PlayerIndex] != null)
+ {
+ validInputs.Add(inputConfigEntry);
+ }
+ }
+
+ _device.Hid.RefreshInputConfig(validInputs);
}
}
@@ -103,6 +112,8 @@ namespace Ryujinx.Input.HLE
_controllers[i] = null;
}
+ List<InputConfig> validInputs = new List<InputConfig>();
+
foreach (InputConfig inputConfigEntry in inputConfig)
{
NpadController controller = new NpadController(_cemuHookClient);
@@ -116,6 +127,7 @@ namespace Ryujinx.Input.HLE
else
{
_controllers[(int)inputConfigEntry.PlayerIndex] = controller;
+ validInputs.Add(inputConfigEntry);
}
}
@@ -123,7 +135,7 @@ namespace Ryujinx.Input.HLE
_enableKeyboard = enableKeyboard;
_enableMouse = enableMouse;
- _device.Hid.RefreshInputConfig(inputConfig);
+ _device.Hid.RefreshInputConfig(validInputs);
}
}