KeyConv // Better alphanumerical support.

This commit is contained in:
ShikiSuen 2022-03-01 20:44:09 +08:00
parent 26aabb395b
commit 4617de4096
1 changed files with 139 additions and 3 deletions

View File

@ -29,14 +29,74 @@ import Cocoa
return false return false
} }
} }
// Apple // Apple
@objc class func cnvApple2ABC(_ charCode: UniChar) -> UniChar { @objc class func cnvApple2ABC(_ charCode: UniChar) -> UniChar {
var charCode = charCode var charCode = charCode
// OVMandarin OVMandarin // OVMandarin OVMandarin
if self.isDynamicBaseKeyboardLayoutEnabled() { if self.isDynamicBaseKeyboardLayoutEnabled() {
// Apple // Apple
if charCode == 45 && (Preferences.basisKeyboardLayout == "com.apple.keylayout.ZhuyinBopomofo") { charCode = UniChar(96) } if charCode == 45 && (Preferences.basisKeyboardLayout == "com.apple.keylayout.ZhuyinBopomofo") { charCode = UniChar(96) }
if charCode == 183 && (Preferences.basisKeyboardLayout == "com.apple.keylayout.ZhuyinEten") { charCode = UniChar(96) } if charCode == 183 && (Preferences.basisKeyboardLayout == "com.apple.keylayout.ZhuyinEten") { charCode = UniChar(96) }
// Apple
switch Preferences.basisKeyboardLayout {
case "com.apple.keylayout.ZhuyinBopomofo": do {
if (charCode == 97) {charCode = UniChar(65)}
if (charCode == 98) {charCode = UniChar(66)}
if (charCode == 99) {charCode = UniChar(67)}
if (charCode == 100) {charCode = UniChar(68)}
if (charCode == 101) {charCode = UniChar(69)}
if (charCode == 102) {charCode = UniChar(70)}
if (charCode == 103) {charCode = UniChar(71)}
if (charCode == 104) {charCode = UniChar(72)}
if (charCode == 105) {charCode = UniChar(73)}
if (charCode == 106) {charCode = UniChar(74)}
if (charCode == 107) {charCode = UniChar(75)}
if (charCode == 108) {charCode = UniChar(76)}
if (charCode == 109) {charCode = UniChar(77)}
if (charCode == 110) {charCode = UniChar(78)}
if (charCode == 111) {charCode = UniChar(79)}
if (charCode == 112) {charCode = UniChar(80)}
if (charCode == 113) {charCode = UniChar(81)}
if (charCode == 114) {charCode = UniChar(82)}
if (charCode == 115) {charCode = UniChar(83)}
if (charCode == 116) {charCode = UniChar(84)}
if (charCode == 117) {charCode = UniChar(85)}
if (charCode == 118) {charCode = UniChar(86)}
if (charCode == 119) {charCode = UniChar(87)}
if (charCode == 120) {charCode = UniChar(88)}
if (charCode == 121) {charCode = UniChar(89)}
if (charCode == 122) {charCode = UniChar(90)}
}
case "com.apple.keylayout.ZhuyinEten": do {
if (charCode == 65345) {charCode = UniChar(65)}
if (charCode == 65346) {charCode = UniChar(66)}
if (charCode == 65347) {charCode = UniChar(67)}
if (charCode == 65348) {charCode = UniChar(68)}
if (charCode == 65349) {charCode = UniChar(69)}
if (charCode == 65350) {charCode = UniChar(70)}
if (charCode == 65351) {charCode = UniChar(71)}
if (charCode == 65352) {charCode = UniChar(72)}
if (charCode == 65353) {charCode = UniChar(73)}
if (charCode == 65354) {charCode = UniChar(74)}
if (charCode == 65355) {charCode = UniChar(75)}
if (charCode == 65356) {charCode = UniChar(76)}
if (charCode == 65357) {charCode = UniChar(77)}
if (charCode == 65358) {charCode = UniChar(78)}
if (charCode == 65359) {charCode = UniChar(79)}
if (charCode == 65360) {charCode = UniChar(80)}
if (charCode == 65361) {charCode = UniChar(81)}
if (charCode == 65362) {charCode = UniChar(82)}
if (charCode == 65363) {charCode = UniChar(83)}
if (charCode == 65364) {charCode = UniChar(84)}
if (charCode == 65365) {charCode = UniChar(85)}
if (charCode == 65366) {charCode = UniChar(86)}
if (charCode == 65367) {charCode = UniChar(87)}
if (charCode == 65368) {charCode = UniChar(88)}
if (charCode == 65369) {charCode = UniChar(89)}
if (charCode == 65370) {charCode = UniChar(90)}
}
default: break
}
// //
if (charCode == 12573) {charCode = UniChar(44)} if (charCode == 12573) {charCode = UniChar(44)}
if (charCode == 12582) {charCode = UniChar(45)} if (charCode == 12582) {charCode = UniChar(45)}
@ -98,6 +158,14 @@ import Cocoa
if (charCode == 65290) {charCode = UniChar(42)} if (charCode == 65290) {charCode = UniChar(42)}
if (charCode == 65288) {charCode = UniChar(40)} if (charCode == 65288) {charCode = UniChar(40)}
if (charCode == 65289) {charCode = UniChar(41)} if (charCode == 65289) {charCode = UniChar(41)}
// Apple
if Preferences.basisKeyboardLayout == "com.apple.keylayout.ZhuyinEten" {
if (charCode == 65343) {charCode = UniChar(95)}
if (charCode == 65306) {charCode = UniChar(58)}
if (charCode == 65311) {charCode = UniChar(63)}
if (charCode == 65291) {charCode = UniChar(43)}
if (charCode == 65372) {charCode = UniChar(124)}
}
} }
return charCode return charCode
} }
@ -105,9 +173,69 @@ import Cocoa
@objc class func cnvStringApple2ABC(_ strProcessed: String) -> String { @objc class func cnvStringApple2ABC(_ strProcessed: String) -> String {
var strProcessed = strProcessed var strProcessed = strProcessed
if self.isDynamicBaseKeyboardLayoutEnabled() { if self.isDynamicBaseKeyboardLayoutEnabled() {
// Apple // Apple
if (strProcessed == "-" && Preferences.basisKeyboardLayout == "com.apple.keylayout.ZhuyinBopomofo") { strProcessed = "`" } if (strProcessed == "-" && Preferences.basisKeyboardLayout == "com.apple.keylayout.ZhuyinBopomofo") { strProcessed = "`" }
if (strProcessed == "·" && Preferences.basisKeyboardLayout == "com.apple.keylayout.ZhuyinEten") { strProcessed = "`" } if (strProcessed == "·" && Preferences.basisKeyboardLayout == "com.apple.keylayout.ZhuyinEten") { strProcessed = "`" }
// Apple
switch Preferences.basisKeyboardLayout {
case "com.apple.keylayout.ZhuyinBopomofo": do {
if (strProcessed == "a") {strProcessed = "A"}
if (strProcessed == "b") {strProcessed = "B"}
if (strProcessed == "c") {strProcessed = "C"}
if (strProcessed == "d") {strProcessed = "D"}
if (strProcessed == "e") {strProcessed = "E"}
if (strProcessed == "f") {strProcessed = "F"}
if (strProcessed == "g") {strProcessed = "G"}
if (strProcessed == "h") {strProcessed = "H"}
if (strProcessed == "i") {strProcessed = "I"}
if (strProcessed == "j") {strProcessed = "J"}
if (strProcessed == "k") {strProcessed = "K"}
if (strProcessed == "l") {strProcessed = "L"}
if (strProcessed == "m") {strProcessed = "M"}
if (strProcessed == "n") {strProcessed = "N"}
if (strProcessed == "o") {strProcessed = "O"}
if (strProcessed == "p") {strProcessed = "P"}
if (strProcessed == "q") {strProcessed = "Q"}
if (strProcessed == "r") {strProcessed = "R"}
if (strProcessed == "s") {strProcessed = "S"}
if (strProcessed == "t") {strProcessed = "T"}
if (strProcessed == "u") {strProcessed = "U"}
if (strProcessed == "v") {strProcessed = "V"}
if (strProcessed == "w") {strProcessed = "W"}
if (strProcessed == "x") {strProcessed = "X"}
if (strProcessed == "y") {strProcessed = "Y"}
if (strProcessed == "z") {strProcessed = "Z"}
}
case "com.apple.keylayout.ZhuyinEten": do {
if (strProcessed == "") {strProcessed = "A"}
if (strProcessed == "") {strProcessed = "B"}
if (strProcessed == "") {strProcessed = "C"}
if (strProcessed == "") {strProcessed = "D"}
if (strProcessed == "") {strProcessed = "E"}
if (strProcessed == "") {strProcessed = "F"}
if (strProcessed == "") {strProcessed = "G"}
if (strProcessed == "") {strProcessed = "H"}
if (strProcessed == "") {strProcessed = "I"}
if (strProcessed == "") {strProcessed = "J"}
if (strProcessed == "") {strProcessed = "K"}
if (strProcessed == "") {strProcessed = "L"}
if (strProcessed == "") {strProcessed = "M"}
if (strProcessed == "") {strProcessed = "N"}
if (strProcessed == "") {strProcessed = "O"}
if (strProcessed == "") {strProcessed = "P"}
if (strProcessed == "") {strProcessed = "Q"}
if (strProcessed == "") {strProcessed = "R"}
if (strProcessed == "") {strProcessed = "S"}
if (strProcessed == "") {strProcessed = "T"}
if (strProcessed == "") {strProcessed = "U"}
if (strProcessed == "") {strProcessed = "V"}
if (strProcessed == "") {strProcessed = "W"}
if (strProcessed == "") {strProcessed = "X"}
if (strProcessed == "") {strProcessed = "Y"}
if (strProcessed == "") {strProcessed = "Z"}
}
default: break
}
// //
if (strProcessed == "") {strProcessed = ","} if (strProcessed == "") {strProcessed = ","}
if (strProcessed == "") {strProcessed = "-"} if (strProcessed == "") {strProcessed = "-"}
@ -169,6 +297,14 @@ import Cocoa
if (strProcessed == "") {strProcessed = "*"} if (strProcessed == "") {strProcessed = "*"}
if (strProcessed == "") {strProcessed = "("} if (strProcessed == "") {strProcessed = "("}
if (strProcessed == "") {strProcessed = ")"} if (strProcessed == "") {strProcessed = ")"}
// Apple
if Preferences.basisKeyboardLayout == "com.apple.keylayout.ZhuyinEten" {
if (strProcessed == "_") {strProcessed = "_"}
if (strProcessed == "") {strProcessed = ":"}
if (strProcessed == "") {strProcessed = "?"}
if (strProcessed == "") {strProcessed = "+"}
if (strProcessed == "") {strProcessed = "|"}
}
} }
return strProcessed return strProcessed
} }