From 9efe124fc58db84b27b155cf8fa986a51f30a093 Mon Sep 17 00:00:00 2001 From: ooa113y <13thSlayer@gmail.com> Date: Wed, 23 Jun 2021 23:51:29 +0300 Subject: [PATCH] Unbind input on middle click (#2358) * Unbind input on middle click * Clear _middleMousePressed unconditionally * Remove unneded initialization code * Swap conditions * CR fixes --- Ryujinx/Ui/Windows/ControllerWindow.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Ryujinx/Ui/Windows/ControllerWindow.cs b/Ryujinx/Ui/Windows/ControllerWindow.cs index 89afbae2f3..7a49c7ba4b 100644 --- a/Ryujinx/Ui/Windows/ControllerWindow.cs +++ b/Ryujinx/Ui/Windows/ControllerWindow.cs @@ -105,13 +105,13 @@ namespace Ryujinx.Ui.Windows private IGamepadDriver _gtk3KeyboardDriver; private IGamepad _selectedGamepad; private bool _mousePressed; + private bool _middleMousePressed; public ControllerWindow(MainWindow mainWindow, PlayerIndex controllerId) : this(mainWindow, new Builder("Ryujinx.Ui.Windows.ControllerWindow.glade"), controllerId) { } private ControllerWindow(MainWindow mainWindow, Builder builder, PlayerIndex controllerId) : base(builder.GetObject("_controllerWin").Handle) { _mainWindow = mainWindow; - _mousePressed = false; _selectedGamepad = null; // NOTE: To get input in this window, we need to bind a custom keyboard driver instead of using the InputManager one as the main window isn't focused... @@ -852,11 +852,17 @@ namespace Ryujinx.Ui.Windows Application.Invoke(delegate { - if (pressedButton != "") + if (_middleMousePressed) + { + button.Label = "Unbound"; + } + else if (pressedButton != "") { button.Label = pressedButton; } + _middleMousePressed = false; + ButtonPressEvent -= MouseClick; keyboard.Dispose(); @@ -883,6 +889,7 @@ namespace Ryujinx.Ui.Windows private void MouseClick(object sender, ButtonPressEventArgs args) { _mousePressed = true; + _middleMousePressed = args.Event.Button == 2; } private void SetProfiles()