From 6be6492470fca2868feeae9ddcc71a09d87ed7be Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Sun, 15 Oct 2023 21:59:46 +0800 Subject: [PATCH] SessionCtl // Turn off Caps Lock if Eisu key is turned off. --- .../Sources/MainAssembly/SessionCtl_HandleEvent.swift | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Packages/vChewing_MainAssembly/Sources/MainAssembly/SessionCtl_HandleEvent.swift b/Packages/vChewing_MainAssembly/Sources/MainAssembly/SessionCtl_HandleEvent.swift index 491c3f8f..497468b5 100644 --- a/Packages/vChewing_MainAssembly/Sources/MainAssembly/SessionCtl_HandleEvent.swift +++ b/Packages/vChewing_MainAssembly/Sources/MainAssembly/SessionCtl_HandleEvent.swift @@ -11,6 +11,7 @@ import IMKUtils import InputMethodKit import NotifierUI import Shared +import SwiftyCapsLockToggler // MARK: - Facade @@ -183,10 +184,15 @@ public extension SessionCtl { /// 切換英數模式開關。 private func toggleAlphanumericalMode() { let status = "NotificationSwitchRevolver".localized + let oldValue = isASCIIMode + let newValue = isASCIIMode.toggled() Notifier.notify( - message: isASCIIMode.toggled() + message: newValue ? NSLocalizedString("Alphanumerical Input Mode", comment: "") + "\n" + status : NSLocalizedString("Chinese Input Mode", comment: "") + "\n" + status ) + if oldValue, !newValue, Self.isCapsLocked { + CapsLockToggler.turnOff() + } } }