aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Gtk3
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Gtk3')
-rw-r--r--src/Ryujinx.Gtk3/Input/GTK3/GTK3KeyboardDriver.cs5
-rw-r--r--src/Ryujinx.Gtk3/UI/Applet/GtkHostUIHandler.cs3
2 files changed, 8 insertions, 0 deletions
diff --git a/src/Ryujinx.Gtk3/Input/GTK3/GTK3KeyboardDriver.cs b/src/Ryujinx.Gtk3/Input/GTK3/GTK3KeyboardDriver.cs
index e502254b..bd71c793 100644
--- a/src/Ryujinx.Gtk3/Input/GTK3/GTK3KeyboardDriver.cs
+++ b/src/Ryujinx.Gtk3/Input/GTK3/GTK3KeyboardDriver.cs
@@ -81,6 +81,11 @@ namespace Ryujinx.Input.GTK3
return _pressedKeys.Contains(nativeKey);
}
+ public void Clear()
+ {
+ _pressedKeys.Clear();
+ }
+
public IGamepad GetGamepad(string id)
{
if (!_keyboardIdentifers[0].Equals(id))
diff --git a/src/Ryujinx.Gtk3/UI/Applet/GtkHostUIHandler.cs b/src/Ryujinx.Gtk3/UI/Applet/GtkHostUIHandler.cs
index 1d918d21..b3f509a0 100644
--- a/src/Ryujinx.Gtk3/UI/Applet/GtkHostUIHandler.cs
+++ b/src/Ryujinx.Gtk3/UI/Applet/GtkHostUIHandler.cs
@@ -107,6 +107,8 @@ namespace Ryujinx.UI.Applet
swkbdDialog.SetInputLengthValidation(args.StringLengthMin, args.StringLengthMax);
swkbdDialog.SetInputValidation(args.KeyboardMode);
+ ((MainWindow)_parent).RendererWidget.NpadManager.BlockInputUpdates();
+
if (swkbdDialog.Run() == (int)ResponseType.Ok)
{
inputText = swkbdDialog.InputEntry.Text;
@@ -128,6 +130,7 @@ namespace Ryujinx.UI.Applet
});
dialogCloseEvent.WaitOne();
+ ((MainWindow)_parent).RendererWidget.NpadManager.UnblockInputUpdates();
userText = error ? null : inputText;