diff options
| author | TSRBerry <20988865+TSRBerry@users.noreply.github.com> | 2024-05-14 17:14:39 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-14 17:14:39 +0200 |
| commit | a3dc295c5f867bddb56a38f3a848ceb61ff30d32 (patch) | |
| tree | 7e8b472d377f2ff49ec31e1d4b01d59548271807 /src/Ryujinx.Input | |
| parent | 2ef4f92b0793feb7073ed85b7f7dc08dca6f14e9 (diff) | |
Disable keyboard controller input while swkbd is open (foreground) (#6646)
* Block input updates while swkbd is open in foreground mode
* Flush internal driver state before unblocking input updates
* Rename Flush to Clear and remove unnecessary attribute
Diffstat (limited to 'src/Ryujinx.Input')
| -rw-r--r-- | src/Ryujinx.Input/HLE/NpadManager.cs | 5 | ||||
| -rw-r--r-- | src/Ryujinx.Input/IGamepadDriver.cs | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/Ryujinx.Input/HLE/NpadManager.cs b/src/Ryujinx.Input/HLE/NpadManager.cs index 4c7bb8b7..2409ecf2 100644 --- a/src/Ryujinx.Input/HLE/NpadManager.cs +++ b/src/Ryujinx.Input/HLE/NpadManager.cs @@ -174,6 +174,11 @@ namespace Ryujinx.Input.HLE { lock (_lock) { + foreach (InputConfig inputConfig in _inputConfig) + { + _controllers[(int)inputConfig.PlayerIndex].GamepadDriver.Clear(); + } + _blockInputUpdates = false; } } diff --git a/src/Ryujinx.Input/IGamepadDriver.cs b/src/Ryujinx.Input/IGamepadDriver.cs index 67b01c26..ff4d3699 100644 --- a/src/Ryujinx.Input/IGamepadDriver.cs +++ b/src/Ryujinx.Input/IGamepadDriver.cs @@ -33,5 +33,11 @@ namespace Ryujinx.Input /// <param name="id">The unique id of the gamepad</param> /// <returns>An instance of <see cref="IGamepad"/> associated to the gamepad id given or null if not found</returns> IGamepad GetGamepad(string id); + + /// <summary> + /// Flush the internal state of the driver. + /// </summary> + /// <remarks>Does nothing by default.</remarks> + void Clear() { } } } |
