From cdccf89e103694dcad3833d900b7858a49dae1ec Mon Sep 17 00:00:00 2001
From: gdkchan <gab.dark.100@gmail.com>
Date: Wed, 15 May 2024 02:20:24 -0300
Subject: Revert "Disable keyboard controller input while swkbd is open
 (foreground) (#…" (#6805)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This reverts commit a3dc295c5f867bddb56a38f3a848ceb61ff30d32.
---
 src/Ryujinx.Gtk3/Input/GTK3/GTK3KeyboardDriver.cs | 5 -----
 src/Ryujinx.Gtk3/UI/Applet/GtkHostUIHandler.cs    | 3 ---
 src/Ryujinx.Input/HLE/NpadManager.cs              | 5 -----
 src/Ryujinx.Input/IGamepadDriver.cs               | 6 ------
 src/Ryujinx/Input/AvaloniaKeyboard.cs             | 2 +-
 src/Ryujinx/Input/AvaloniaKeyboardDriver.cs       | 2 +-
 src/Ryujinx/UI/Applet/AvaHostUIHandler.cs         | 2 --
 7 files changed, 2 insertions(+), 23 deletions(-)

(limited to 'src')

diff --git a/src/Ryujinx.Gtk3/Input/GTK3/GTK3KeyboardDriver.cs b/src/Ryujinx.Gtk3/Input/GTK3/GTK3KeyboardDriver.cs
index bd71c793..e502254b 100644
--- a/src/Ryujinx.Gtk3/Input/GTK3/GTK3KeyboardDriver.cs
+++ b/src/Ryujinx.Gtk3/Input/GTK3/GTK3KeyboardDriver.cs
@@ -81,11 +81,6 @@ 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 b3f509a0..1d918d21 100644
--- a/src/Ryujinx.Gtk3/UI/Applet/GtkHostUIHandler.cs
+++ b/src/Ryujinx.Gtk3/UI/Applet/GtkHostUIHandler.cs
@@ -107,8 +107,6 @@ 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;
@@ -130,7 +128,6 @@ namespace Ryujinx.UI.Applet
             });
 
             dialogCloseEvent.WaitOne();
-            ((MainWindow)_parent).RendererWidget.NpadManager.UnblockInputUpdates();
 
             userText = error ? null : inputText;
 
diff --git a/src/Ryujinx.Input/HLE/NpadManager.cs b/src/Ryujinx.Input/HLE/NpadManager.cs
index 2409ecf2..4c7bb8b7 100644
--- a/src/Ryujinx.Input/HLE/NpadManager.cs
+++ b/src/Ryujinx.Input/HLE/NpadManager.cs
@@ -174,11 +174,6 @@ 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 ff4d3699..67b01c26 100644
--- a/src/Ryujinx.Input/IGamepadDriver.cs
+++ b/src/Ryujinx.Input/IGamepadDriver.cs
@@ -33,11 +33,5 @@ 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() { }
     }
 }
diff --git a/src/Ryujinx/Input/AvaloniaKeyboard.cs b/src/Ryujinx/Input/AvaloniaKeyboard.cs
index ff88de79..fbaaaaba 100644
--- a/src/Ryujinx/Input/AvaloniaKeyboard.cs
+++ b/src/Ryujinx/Input/AvaloniaKeyboard.cs
@@ -195,7 +195,7 @@ namespace Ryujinx.Ava.Input
 
         public void Clear()
         {
-            _driver?.Clear();
+            _driver?.ResetKeys();
         }
 
         public void Dispose() { }
diff --git a/src/Ryujinx/Input/AvaloniaKeyboardDriver.cs b/src/Ryujinx/Input/AvaloniaKeyboardDriver.cs
index 9f87e821..e9e71b99 100644
--- a/src/Ryujinx/Input/AvaloniaKeyboardDriver.cs
+++ b/src/Ryujinx/Input/AvaloniaKeyboardDriver.cs
@@ -94,7 +94,7 @@ namespace Ryujinx.Ava.Input
             return _pressedKeys.Contains(nativeKey);
         }
 
-        public void Clear()
+        public void ResetKeys()
         {
             _pressedKeys.Clear();
         }
diff --git a/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs b/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs
index 4bcf8eb9..4bcc35a7 100644
--- a/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs
+++ b/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs
@@ -122,7 +122,6 @@ 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)
@@ -144,7 +143,6 @@ namespace Ryujinx.Ava.UI.Applet
             });
 
             dialogCloseEvent.WaitOne();
-            _parent.ViewModel.AppHost.NpadManager.UnblockInputUpdates();
 
             userText = error ? null : inputText;
 
-- 
cgit v1.2.3-70-g09d2