From 97bc20fe89492aa12022eda2f451d7a3966b108d Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Sun, 9 Oct 2022 14:42:56 +0800 Subject: [PATCH] Repo // Deprecating AppleKeyboardConverter MK1. --- .../CocoaExtension_NSEvent.swift | 4 +- .../Sources/IMKUtils/IMKHelper.swift | 140 ------------------ 2 files changed, 2 insertions(+), 142 deletions(-) diff --git a/Packages/vChewing_CocoaExtension/Sources/CocoaExtension/CocoaExtension_NSEvent.swift b/Packages/vChewing_CocoaExtension/Sources/CocoaExtension/CocoaExtension_NSEvent.swift index a6d01fe7..091b32b4 100644 --- a/Packages/vChewing_CocoaExtension/Sources/CocoaExtension/CocoaExtension_NSEvent.swift +++ b/Packages/vChewing_CocoaExtension/Sources/CocoaExtension/CocoaExtension_NSEvent.swift @@ -78,10 +78,10 @@ extension NSEvent { extension NSEvent { public var isTypingVertical: Bool { charactersIgnoringModifiers == "Vertical" } - public var text: String { convertedFromPhonabets() } + public var text: String { characters ?? "" } public var inputTextIgnoringModifiers: String? { guard charactersIgnoringModifiers != nil else { return nil } - return convertedFromPhonabets(ignoringModifiers: true) + return charactersIgnoringModifiers ?? characters ?? "" } public var charCode: UInt16 { diff --git a/Packages/vChewing_IMKUtils/Sources/IMKUtils/IMKHelper.swift b/Packages/vChewing_IMKUtils/Sources/IMKUtils/IMKHelper.swift index 17bebffb..c953aa7c 100644 --- a/Packages/vChewing_IMKUtils/Sources/IMKUtils/IMKHelper.swift +++ b/Packages/vChewing_IMKUtils/Sources/IMKUtils/IMKHelper.swift @@ -97,143 +97,3 @@ extension IMKHelper { TISInputSource.registerInputMethod() ? 0 : -1 } } - -// MARK: - Apple Keyboard Converter - -extension NSEvent { - public func convertedFromPhonabets(ignoringModifiers: Bool = false) -> String { - if type == .flagsChanged { return "" } - var strProcessed = charactersIgnoringModifiers ?? characters ?? "" - if !ignoringModifiers { - strProcessed = characters ?? "" - } - if IMKHelper.isDynamicBasicKeyboardLayoutEnabled { - // 針對不同的 Apple 動態鍵盤佈局糾正大寫英文輸入。 - switch IMKHelper.currentBasicKeyboardLayout { - case "com.apple.keylayout.ZhuyinBopomofo": - if strProcessed.count == 1, Character(strProcessed).isLowercase, Character(strProcessed).isASCII { - strProcessed = strProcessed.uppercased() - } - case "com.apple.keylayout.ZhuyinEten": - switch strProcessed { - case "a": strProcessed = "A" - case "b": strProcessed = "B" - case "c": strProcessed = "C" - case "d": strProcessed = "D" - case "e": strProcessed = "E" - case "f": strProcessed = "F" - case "g": strProcessed = "G" - case "h": strProcessed = "H" - case "i": strProcessed = "I" - case "j": strProcessed = "J" - case "k": strProcessed = "K" - case "l": strProcessed = "L" - case "m": strProcessed = "M" - case "n": strProcessed = "N" - case "o": strProcessed = "O" - case "p": strProcessed = "P" - case "q": strProcessed = "Q" - case "r": strProcessed = "R" - case "s": strProcessed = "S" - case "t": strProcessed = "T" - case "u": strProcessed = "U" - case "v": strProcessed = "V" - case "w": strProcessed = "W" - case "x": strProcessed = "X" - case "y": strProcessed = "Y" - case "z": strProcessed = "Z" - default: break - } - default: break - } - // 注音鍵群。 - switch strProcessed { - case "ㄝ": strProcessed = "," - case "ㄦ": strProcessed = "-" - case "ㄡ": strProcessed = "." - case "ㄥ": strProcessed = "/" - case "ㄢ": strProcessed = "0" - case "ㄅ": strProcessed = "1" - case "ㄉ": strProcessed = "2" - case "ˇ": strProcessed = "3" - case "ˋ": strProcessed = "4" - case "ㄓ": strProcessed = "5" - case "ˊ": strProcessed = "6" - case "˙": strProcessed = "7" - case "ㄚ": strProcessed = "8" - case "ㄞ": strProcessed = "9" - case "ㄤ": strProcessed = ";" - case "ㄇ": strProcessed = "a" - case "ㄖ": strProcessed = "b" - case "ㄏ": strProcessed = "c" - case "ㄎ": strProcessed = "d" - case "ㄍ": strProcessed = "e" - case "ㄑ": strProcessed = "f" - case "ㄕ": strProcessed = "g" - case "ㄘ": strProcessed = "h" - case "ㄛ": strProcessed = "i" - case "ㄨ": strProcessed = "j" - case "ㄜ": strProcessed = "k" - case "ㄠ": strProcessed = "l" - case "ㄩ": strProcessed = "m" - case "ㄙ": strProcessed = "n" - case "ㄟ": strProcessed = "o" - case "ㄣ": strProcessed = "p" - case "ㄆ": strProcessed = "q" - case "ㄐ": strProcessed = "r" - case "ㄋ": strProcessed = "s" - case "ㄔ": strProcessed = "t" - case "ㄧ": strProcessed = "u" - case "ㄒ": strProcessed = "v" - case "ㄊ": strProcessed = "w" - case "ㄌ": strProcessed = "x" - case "ㄗ": strProcessed = "y" - case "ㄈ": strProcessed = "z" - default: break - } - // 除了數字鍵區以外的標點符號。 - switch strProcessed { - case "、": strProcessed = "\\" - case "「": strProcessed = "[" - case "」": strProcessed = "]" - case "『": strProcessed = "{" - case "』": strProcessed = "}" - case ",": strProcessed = "<" - case "。": strProcessed = ">" - default: break - } - // 摁了 SHIFT 之後的數字區的符號。 - switch strProcessed { - case "!": strProcessed = "!" - case "@": strProcessed = "@" - case "#": strProcessed = "#" - case "$": strProcessed = "$" - case "%": strProcessed = "%" - case "︿": strProcessed = "^" - case "&": strProcessed = "&" - case "*": strProcessed = "*" - case "(": strProcessed = "(" - case ")": strProcessed = ")" - default: break - } - // 摁了 Alt 的符號。 - if strProcessed == "—" { strProcessed = "-" } - // Apple 倚天注音佈局追加符號糾正項目。 - if IMKHelper.currentBasicKeyboardLayout == "com.apple.keylayout.ZhuyinEten" { - switch strProcessed { - case "_": strProcessed = "_" - case ":": strProcessed = ":" - case "?": strProcessed = "?" - case "+": strProcessed = "+" - case "|": strProcessed = "|" - default: break - } - } - // 糾正 macOS 內建的的動態注音鍵盤佈局的一個 bug。 - if "-·".contains(strProcessed), keyCode == 50 { - strProcessed = "`" - } - } - return strProcessed - } -}