SessionCtl // Revise the handling of Shift Alphanumerical toggle.
This commit is contained in:
parent
03c6d0e40a
commit
bb2533a2aa
|
@ -60,6 +60,15 @@ extension SessionCtl {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func toggleAlphanumericalMode() {
|
||||||
|
let status = "NotificationSwitchASCII".localized
|
||||||
|
Notifier.notify(
|
||||||
|
message: isASCIIMode.toggled()
|
||||||
|
? "Alphanumerical Input Mode".localized + "\n" + status
|
||||||
|
: "Chinese Input Mode".localized + "\n" + status
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
// 用 Shift 開關半形英數模式,僅對 macOS 10.15 及之後的 macOS 有效。
|
// 用 Shift 開關半形英數模式,僅對 macOS 10.15 及之後的 macOS 有效。
|
||||||
let shouldUseShiftToggleHandle: Bool = {
|
let shouldUseShiftToggleHandle: Bool = {
|
||||||
switch PrefMgr.shared.shiftKeyAccommodationBehavior {
|
switch PrefMgr.shared.shiftKeyAccommodationBehavior {
|
||||||
|
@ -73,18 +82,14 @@ extension SessionCtl {
|
||||||
/// 警告:這裡的 event 必須是原始 event 且不能被 var,否則會影響 Shift 中英模式判定。
|
/// 警告:這裡的 event 必須是原始 event 且不能被 var,否則會影響 Shift 中英模式判定。
|
||||||
if #available(macOS 10.15, *) {
|
if #available(macOS 10.15, *) {
|
||||||
if Self.theShiftKeyDetector.check(event), !PrefMgr.shared.disableShiftTogglingAlphanumericalMode {
|
if Self.theShiftKeyDetector.check(event), !PrefMgr.shared.disableShiftTogglingAlphanumericalMode {
|
||||||
if !shouldUseShiftToggleHandle || (!rencentKeyHandledByInputHandlerEtc && shouldUseShiftToggleHandle) {
|
|
||||||
let status = NSLocalizedString("NotificationSwitchASCII", comment: "")
|
|
||||||
Notifier.notify(
|
|
||||||
message: isASCIIMode.toggled()
|
|
||||||
? NSLocalizedString("Alphanumerical Input Mode", comment: "") + "\n" + status
|
|
||||||
: NSLocalizedString("Chinese Input Mode", comment: "") + "\n" + status
|
|
||||||
)
|
|
||||||
}
|
|
||||||
if shouldUseShiftToggleHandle {
|
if shouldUseShiftToggleHandle {
|
||||||
|
if !rencentKeyHandledByInputHandlerEtc {
|
||||||
|
toggleAlphanumericalMode()
|
||||||
|
} else {
|
||||||
rencentKeyHandledByInputHandlerEtc = false
|
rencentKeyHandledByInputHandlerEtc = false
|
||||||
}
|
}
|
||||||
return false
|
}
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue