Repo // Deprecating AppleKeyboardConverter MK1.

This commit is contained in:
ShikiSuen 2022-10-09 14:42:56 +08:00
parent 165727f43d
commit 97bc20fe89
2 changed files with 2 additions and 142 deletions

View File

@ -78,10 +78,10 @@ extension NSEvent {
extension NSEvent { extension NSEvent {
public var isTypingVertical: Bool { charactersIgnoringModifiers == "Vertical" } public var isTypingVertical: Bool { charactersIgnoringModifiers == "Vertical" }
public var text: String { convertedFromPhonabets() } public var text: String { characters ?? "" }
public var inputTextIgnoringModifiers: String? { public var inputTextIgnoringModifiers: String? {
guard charactersIgnoringModifiers != nil else { return nil } guard charactersIgnoringModifiers != nil else { return nil }
return convertedFromPhonabets(ignoringModifiers: true) return charactersIgnoringModifiers ?? characters ?? ""
} }
public var charCode: UInt16 { public var charCode: UInt16 {

View File

@ -97,143 +97,3 @@ extension IMKHelper {
TISInputSource.registerInputMethod() ? 0 : -1 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 "": 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
}
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
}
}