diff --git a/scripts/UI/AudioSettings.cs b/scripts/UI/AudioSettings.cs index c1f35eb..6d777f9 100644 --- a/scripts/UI/AudioSettings.cs +++ b/scripts/UI/AudioSettings.cs @@ -36,6 +36,7 @@ public partial class AudioSettings : Control { if (InputDeviceManager.Instance != null) InputDeviceManager.Instance.DeviceChanged -= OnDeviceChanged; + AudioSettingsControl.VisibilityChanged -= OnVisibilityChanged; SaveSettings(); } diff --git a/scripts/UI/MainMenu.cs b/scripts/UI/MainMenu.cs index 5f3c6d1..1c40763 100644 --- a/scripts/UI/MainMenu.cs +++ b/scripts/UI/MainMenu.cs @@ -40,7 +40,8 @@ public partial class MainMenu : Control InputDeviceManager.Instance.DeviceChanged += OnDeviceChanged; VisibilityChanged += OnVisibilityChanged; - GrabFirstFocus(); + if (InputDeviceManager.Instance?.IsPointerless == true) + GrabFirstFocus(); } public override void _ExitTree() diff --git a/scripts/UI/PauseMenu.cs b/scripts/UI/PauseMenu.cs index 061f78e..9457e06 100644 --- a/scripts/UI/PauseMenu.cs +++ b/scripts/UI/PauseMenu.cs @@ -39,6 +39,7 @@ public partial class PauseMenu : Control { if (InputDeviceManager.Instance != null) InputDeviceManager.Instance.DeviceChanged -= OnDeviceChanged; + PauseMenuControl.VisibilityChanged -= OnVisibilityChanged; } private void OnVisibilityChanged()