diff --git a/Packages/vChewing_MainAssembly/Sources/MainAssembly/SettingsUI/VwrSettingsPaneBehavior.swift b/Packages/vChewing_MainAssembly/Sources/MainAssembly/SettingsUI/VwrSettingsPaneBehavior.swift index 1cb3e152..8c22bc5e 100644 --- a/Packages/vChewing_MainAssembly/Sources/MainAssembly/SettingsUI/VwrSettingsPaneBehavior.swift +++ b/Packages/vChewing_MainAssembly/Sources/MainAssembly/SettingsUI/VwrSettingsPaneBehavior.swift @@ -59,6 +59,12 @@ public struct VwrSettingsPaneBehavior: View { @AppStorage(wrappedValue: false, UserDef.kShareAlphanumericalModeStatusAcrossClients.rawValue) private var shareAlphanumericalModeStatusAcrossClients: Bool + @AppStorage(wrappedValue: true, UserDef.kShiftEisuToggleOffTogetherWithCapsLock.rawValue) + public dynamic var shiftEisuToggleOffTogetherWithCapsLock: Bool + + @AppStorage(wrappedValue: false, UserDef.kBypassNonAppleCapsLockHandling.rawValue) + public dynamic var bypassNonAppleCapsLockHandling: Bool + var macOSMontereyOrLaterDetected: Bool { true } // Always met. // MARK: - Main View @@ -185,6 +191,14 @@ public struct VwrSettingsPaneBehavior: View { } } Section { + VStack(alignment: .leading) { + Toggle( + LocalizedStringKey("i18n:UserDef.kBypassNonAppleCapsLockHandling.shortTitle"), + isOn: $bypassNonAppleCapsLockHandling + ) + Text("i18n:UserDef.kBypassNonAppleCapsLockHandling.description") + .settingsDescription() + } VStack(alignment: .leading) { Toggle( LocalizedStringKey("Share alphanumerical mode status across all clients"), @@ -215,6 +229,15 @@ public struct VwrSettingsPaneBehavior: View { ) .settingsDescription() } + VStack(alignment: .leading) { + Toggle( + LocalizedStringKey("i18n:UserDef.kShiftEisuToggleOffTogetherWithCapsLock.shortTitle"), + isOn: $shiftEisuToggleOffTogetherWithCapsLock + ) + Spacer() + Text("i18n:UserDef.kShiftEisuToggleOffTogetherWithCapsLock.description") + .settingsDescription() + } } Section { VStack(alignment: .leading) {