diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/HotKey/HotKeyCombination.cs b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/HotKey/HotKeyCombination.cs index fca1e093..7bb8c3e4 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/HotKey/HotKeyCombination.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/HotKey/HotKeyCombination.cs @@ -27,7 +27,6 @@ internal sealed class HotKeyCombination : ObservableObject private bool registered; - private bool modifierHasWindows; private bool modifierHasControl; private bool modifierHasShift; private bool modifierHasAlt; @@ -52,7 +51,10 @@ internal sealed class HotKeyCombination : ObservableObject isEnabled = LocalSetting.Get($"{settingKey}.IsEnabled", true); HotKeyParameter actual = LocalSettingGetHotKeyParameter(); - modifiers = actual.Modifiers; + + // HOT_KEY_MODIFIERS.MOD_WIN is reversed for use by the OS. + // It should not be used by the application. + modifiers = actual.Modifiers & ~HOT_KEY_MODIFIERS.MOD_WIN; InitializeModifiersCompositionFields(); key = actual.Key; @@ -61,18 +63,6 @@ internal sealed class HotKeyCombination : ObservableObject } #region Binding Property - public bool ModifierHasWindows - { - get => modifierHasWindows; - set - { - if (SetProperty(ref modifierHasWindows, value)) - { - UpdateModifiers(); - } - } - } - public bool ModifierHasControl { get => modifierHasControl; @@ -218,11 +208,6 @@ internal sealed class HotKeyCombination : ObservableObject { StringBuilder stringBuilder = new(); - if (Modifiers.HasFlag(HOT_KEY_MODIFIERS.MOD_WIN)) - { - stringBuilder.Append("Win").Append(" + "); - } - if (Modifiers.HasFlag(HOT_KEY_MODIFIERS.MOD_CONTROL)) { stringBuilder.Append("Ctrl").Append(" + "); @@ -247,11 +232,6 @@ internal sealed class HotKeyCombination : ObservableObject { HOT_KEY_MODIFIERS modifiers = default; - if (ModifierHasWindows) - { - modifiers |= HOT_KEY_MODIFIERS.MOD_WIN; - } - if (ModifierHasControl) { modifiers |= HOT_KEY_MODIFIERS.MOD_CONTROL; @@ -272,11 +252,6 @@ internal sealed class HotKeyCombination : ObservableObject private void InitializeModifiersCompositionFields() { - if (Modifiers.HasFlag(HOT_KEY_MODIFIERS.MOD_WIN)) - { - modifierHasWindows = true; - } - if (Modifiers.HasFlag(HOT_KEY_MODIFIERS.MOD_CONTROL)) { modifierHasControl = true; diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx index 6a0d3d41..889b729d 100644 --- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx +++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx @@ -2667,7 +2667,7 @@ 高级功能 - 更改自动连点功能的快捷键 + 更改自动连点功能的快捷键,仅管理员模式下生效 自动连点 diff --git a/src/Snap.Hutao/Snap.Hutao/View/Page/SettingPage.xaml b/src/Snap.Hutao/Snap.Hutao/View/Page/SettingPage.xaml index 91b6db66..3c18a019 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Page/SettingPage.xaml +++ b/src/Snap.Hutao/Snap.Hutao/View/Page/SettingPage.xaml @@ -426,8 +426,10 @@ + HeaderIcon="{shcm:FontIcon Glyph=}" + IsEnabled="{Binding RuntimeOptions.IsElevated}"> +