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
This commit is contained in:
TSRBerry 2024-05-14 17:14:39 +02:00 committed by GitHub
parent 2ef4f92b07
commit a3dc295c5f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 23 additions and 2 deletions

View file

@ -195,7 +195,7 @@ namespace Ryujinx.Ava.Input
public void Clear()
{
_driver?.ResetKeys();
_driver?.Clear();
}
public void Dispose() { }

View file

@ -94,7 +94,7 @@ namespace Ryujinx.Ava.Input
return _pressedKeys.Contains(nativeKey);
}
public void ResetKeys()
public void Clear()
{
_pressedKeys.Clear();
}

View file

@ -122,6 +122,7 @@ namespace Ryujinx.Ava.UI.Applet
{
try
{
_parent.ViewModel.AppHost.NpadManager.BlockInputUpdates();
var response = await SwkbdAppletDialog.ShowInputDialog(LocaleManager.Instance[LocaleKeys.SoftwareKeyboard], args);
if (response.Result == UserResult.Ok)
@ -143,6 +144,7 @@ namespace Ryujinx.Ava.UI.Applet
});
dialogCloseEvent.WaitOne();
_parent.ViewModel.AppHost.NpadManager.UnblockInputUpdates();
userText = error ? null : inputText;