diff options
author | mageven <62494521+mageven@users.noreply.github.com> | 2022-10-17 00:04:42 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-16 20:34:42 +0200 |
commit | 49eadbc209fa27271eb6110b85776fdfd54a445c (patch) | |
tree | 4ac0b40d4c9d09d3960c90538a76b9b7c8f4f9fa | |
parent | 2df16ded9ba06a874b58132cc2c78175631a3b8d (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.cs | 16 |
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); } } |