From 90d1803cf3a8036619ba86338a8f40bb1922a7b3 Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Sun, 15 Oct 2023 22:08:35 +0800 Subject: [PATCH] SessionCtl // Turn off isASCIIMode if CapsLock is turned off. --- .../Sources/MainAssembly/SessionCtl_HandleEvent.swift | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Packages/vChewing_MainAssembly/Sources/MainAssembly/SessionCtl_HandleEvent.swift b/Packages/vChewing_MainAssembly/Sources/MainAssembly/SessionCtl_HandleEvent.swift index 497468b5..c2f28df5 100644 --- a/Packages/vChewing_MainAssembly/Sources/MainAssembly/SessionCtl_HandleEvent.swift +++ b/Packages/vChewing_MainAssembly/Sources/MainAssembly/SessionCtl_HandleEvent.swift @@ -80,10 +80,13 @@ public extension SessionCtl { // Caps Lock 通知與切換處理,要求至少 macOS 12 Monterey。 if #available(macOS 12, *) { if event.type == .flagsChanged, event.keyCode == KeyCode.kCapsLock.rawValue { - DispatchQueue.main.async { + DispatchQueue.main.async { [weak self] in let isCapsLockTurnedOn = Self.isCapsLocked - let status = NSLocalizedString("NotificationSwitchRevolver", comment: "") + if !isCapsLockTurnedOn, self?.isASCIIMode ?? false { + self?.isASCIIMode.toggle() + } guard PrefMgr.shared.showNotificationsWhenTogglingCapsLock else { return } + let status = NSLocalizedString("NotificationSwitchRevolver", comment: "") Notifier.notify( message: isCapsLockTurnedOn ? "Caps Lock " + "Alphanumerical Input Mode".localized + "\n" + status