From 7960ea643f5a96cff4470e0cac666537aefc3549 Mon Sep 17 00:00:00 2001 From: GreemDev Date: Fri, 14 Mar 2025 23:52:27 -0500 Subject: [PATCH] UI: Added the ability to unbind hotkeys via pressing backspace. --- src/Ryujinx/UI/Helpers/ButtonKeyAssigner.cs | 7 ++++++- .../UI/Views/Settings/SettingsHotkeysView.axaml.cs | 11 ----------- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/Ryujinx/UI/Helpers/ButtonKeyAssigner.cs b/src/Ryujinx/UI/Helpers/ButtonKeyAssigner.cs index 4f2b8daae..eaffb9670 100644 --- a/src/Ryujinx/UI/Helpers/ButtonKeyAssigner.cs +++ b/src/Ryujinx/UI/Helpers/ButtonKeyAssigner.cs @@ -87,8 +87,13 @@ namespace Ryujinx.Ava.UI.Helpers ToggledButton.IsChecked = false; - ButtonAssigned?.Invoke(this, new ButtonAssignedEventArgs(ToggledButton, pressedButton)); + if (pressedButton.HasValue && pressedButton.Value.AsHidType() == Key.BackSpace) + { + ButtonAssigned?.Invoke(this, new ButtonAssignedEventArgs(ToggledButton, new Button(Key.Unbound))); + return; + } + ButtonAssigned?.Invoke(this, new ButtonAssignedEventArgs(ToggledButton, pressedButton)); }); } diff --git a/src/Ryujinx/UI/Views/Settings/SettingsHotkeysView.axaml.cs b/src/Ryujinx/UI/Views/Settings/SettingsHotkeysView.axaml.cs index 609f61633..35e67c12c 100644 --- a/src/Ryujinx/UI/Views/Settings/SettingsHotkeysView.axaml.cs +++ b/src/Ryujinx/UI/Views/Settings/SettingsHotkeysView.axaml.cs @@ -42,15 +42,6 @@ namespace Ryujinx.Ava.UI.Views.Settings } } - private void MouseClick(object sender, PointerPressedEventArgs e) - { - bool shouldUnbind = e.GetCurrentPoint(this).Properties.IsMiddleButtonPressed; - - _currentAssigner?.Cancel(shouldUnbind); - - PointerPressed -= MouseClick; - } - private void Button_IsCheckedChanged(object sender, RoutedEventArgs e) { if (sender is ToggleButton button) @@ -68,8 +59,6 @@ namespace Ryujinx.Ava.UI.Views.Settings this.Focus(NavigationMethod.Pointer); - PointerPressed += MouseClick; - var keyboard = (IKeyboard)_avaloniaKeyboardDriver.GetGamepad("0"); IButtonAssigner assigner = new KeyboardKeyAssigner(keyboard);