KeyConv // Mass refactor for performance optimization.
This commit is contained in:
parent
a3ee5e4659
commit
c1d4f91119
|
@ -24,7 +24,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
import Cocoa
|
import Cocoa
|
||||||
|
|
||||||
class AppleKeyboardConverter: NSObject {
|
enum AppleKeyboardConverter {
|
||||||
static let arrDynamicBasicKeyLayout: [String] = [
|
static let arrDynamicBasicKeyLayout: [String] = [
|
||||||
"com.apple.keylayout.ZhuyinBopomofo",
|
"com.apple.keylayout.ZhuyinBopomofo",
|
||||||
"com.apple.keylayout.ZhuyinEten",
|
"com.apple.keylayout.ZhuyinEten",
|
||||||
|
@ -39,287 +39,316 @@ class AppleKeyboardConverter: NSObject {
|
||||||
"org.unknown.keylayout.vChewingIBM",
|
"org.unknown.keylayout.vChewingIBM",
|
||||||
"org.unknown.keylayout.vChewingMiTAC",
|
"org.unknown.keylayout.vChewingMiTAC",
|
||||||
]
|
]
|
||||||
class func isDynamicBasicKeyboardLayoutEnabled() -> Bool {
|
|
||||||
|
static var isDynamicBasicKeyboardLayoutEnabled: Bool {
|
||||||
AppleKeyboardConverter.arrDynamicBasicKeyLayout.contains(mgrPrefs.basicKeyboardLayout)
|
AppleKeyboardConverter.arrDynamicBasicKeyLayout.contains(mgrPrefs.basicKeyboardLayout)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 處理 Apple 注音鍵盤佈局類型。
|
// 處理 Apple 注音鍵盤佈局類型。
|
||||||
class func cnvApple2ABC(_ charCode: UniChar) -> UniChar {
|
static func cnvApple2ABC(_ charCode: UniChar) -> UniChar {
|
||||||
var charCode = charCode
|
var charCode = charCode
|
||||||
// 在按鍵資訊被送往 OVMandarin 之前,先轉換為可以被 OVMandarin 正常處理的資訊。
|
// 在按鍵資訊被送往注拼引擎之前,先轉換為可以被注拼引擎正常處理的資訊。
|
||||||
if isDynamicBasicKeyboardLayoutEnabled() {
|
if isDynamicBasicKeyboardLayoutEnabled {
|
||||||
// 針對不同的 Apple 動態鍵盤佈局糾正大寫英文輸入。
|
// 針對不同的 Apple 動態鍵盤佈局糾正大寫英文輸入。
|
||||||
switch mgrPrefs.basicKeyboardLayout {
|
switch mgrPrefs.basicKeyboardLayout {
|
||||||
case "com.apple.keylayout.ZhuyinBopomofo":
|
case "com.apple.keylayout.ZhuyinBopomofo":
|
||||||
do {
|
switch charCode {
|
||||||
if charCode == 97 { charCode = UniChar(65) }
|
case 97: charCode = UniChar(65)
|
||||||
if charCode == 98 { charCode = UniChar(66) }
|
case 98: charCode = UniChar(66)
|
||||||
if charCode == 99 { charCode = UniChar(67) }
|
case 99: charCode = UniChar(67)
|
||||||
if charCode == 100 { charCode = UniChar(68) }
|
case 100: charCode = UniChar(68)
|
||||||
if charCode == 101 { charCode = UniChar(69) }
|
case 101: charCode = UniChar(69)
|
||||||
if charCode == 102 { charCode = UniChar(70) }
|
case 102: charCode = UniChar(70)
|
||||||
if charCode == 103 { charCode = UniChar(71) }
|
case 103: charCode = UniChar(71)
|
||||||
if charCode == 104 { charCode = UniChar(72) }
|
case 104: charCode = UniChar(72)
|
||||||
if charCode == 105 { charCode = UniChar(73) }
|
case 105: charCode = UniChar(73)
|
||||||
if charCode == 106 { charCode = UniChar(74) }
|
case 106: charCode = UniChar(74)
|
||||||
if charCode == 107 { charCode = UniChar(75) }
|
case 107: charCode = UniChar(75)
|
||||||
if charCode == 108 { charCode = UniChar(76) }
|
case 108: charCode = UniChar(76)
|
||||||
if charCode == 109 { charCode = UniChar(77) }
|
case 109: charCode = UniChar(77)
|
||||||
if charCode == 110 { charCode = UniChar(78) }
|
case 110: charCode = UniChar(78)
|
||||||
if charCode == 111 { charCode = UniChar(79) }
|
case 111: charCode = UniChar(79)
|
||||||
if charCode == 112 { charCode = UniChar(80) }
|
case 112: charCode = UniChar(80)
|
||||||
if charCode == 113 { charCode = UniChar(81) }
|
case 113: charCode = UniChar(81)
|
||||||
if charCode == 114 { charCode = UniChar(82) }
|
case 114: charCode = UniChar(82)
|
||||||
if charCode == 115 { charCode = UniChar(83) }
|
case 115: charCode = UniChar(83)
|
||||||
if charCode == 116 { charCode = UniChar(84) }
|
case 116: charCode = UniChar(84)
|
||||||
if charCode == 117 { charCode = UniChar(85) }
|
case 117: charCode = UniChar(85)
|
||||||
if charCode == 118 { charCode = UniChar(86) }
|
case 118: charCode = UniChar(86)
|
||||||
if charCode == 119 { charCode = UniChar(87) }
|
case 119: charCode = UniChar(87)
|
||||||
if charCode == 120 { charCode = UniChar(88) }
|
case 120: charCode = UniChar(88)
|
||||||
if charCode == 121 { charCode = UniChar(89) }
|
case 121: charCode = UniChar(89)
|
||||||
if charCode == 122 { charCode = UniChar(90) }
|
case 122: charCode = UniChar(90)
|
||||||
|
default: break
|
||||||
}
|
}
|
||||||
case "com.apple.keylayout.ZhuyinEten":
|
case "com.apple.keylayout.ZhuyinEten":
|
||||||
do {
|
switch charCode {
|
||||||
if charCode == 65345 { charCode = UniChar(65) }
|
case 65345: charCode = UniChar(65)
|
||||||
if charCode == 65346 { charCode = UniChar(66) }
|
case 65346: charCode = UniChar(66)
|
||||||
if charCode == 65347 { charCode = UniChar(67) }
|
case 65347: charCode = UniChar(67)
|
||||||
if charCode == 65348 { charCode = UniChar(68) }
|
case 65348: charCode = UniChar(68)
|
||||||
if charCode == 65349 { charCode = UniChar(69) }
|
case 65349: charCode = UniChar(69)
|
||||||
if charCode == 65350 { charCode = UniChar(70) }
|
case 65350: charCode = UniChar(70)
|
||||||
if charCode == 65351 { charCode = UniChar(71) }
|
case 65351: charCode = UniChar(71)
|
||||||
if charCode == 65352 { charCode = UniChar(72) }
|
case 65352: charCode = UniChar(72)
|
||||||
if charCode == 65353 { charCode = UniChar(73) }
|
case 65353: charCode = UniChar(73)
|
||||||
if charCode == 65354 { charCode = UniChar(74) }
|
case 65354: charCode = UniChar(74)
|
||||||
if charCode == 65355 { charCode = UniChar(75) }
|
case 65355: charCode = UniChar(75)
|
||||||
if charCode == 65356 { charCode = UniChar(76) }
|
case 65356: charCode = UniChar(76)
|
||||||
if charCode == 65357 { charCode = UniChar(77) }
|
case 65357: charCode = UniChar(77)
|
||||||
if charCode == 65358 { charCode = UniChar(78) }
|
case 65358: charCode = UniChar(78)
|
||||||
if charCode == 65359 { charCode = UniChar(79) }
|
case 65359: charCode = UniChar(79)
|
||||||
if charCode == 65360 { charCode = UniChar(80) }
|
case 65360: charCode = UniChar(80)
|
||||||
if charCode == 65361 { charCode = UniChar(81) }
|
case 65361: charCode = UniChar(81)
|
||||||
if charCode == 65362 { charCode = UniChar(82) }
|
case 65362: charCode = UniChar(82)
|
||||||
if charCode == 65363 { charCode = UniChar(83) }
|
case 65363: charCode = UniChar(83)
|
||||||
if charCode == 65364 { charCode = UniChar(84) }
|
case 65364: charCode = UniChar(84)
|
||||||
if charCode == 65365 { charCode = UniChar(85) }
|
case 65365: charCode = UniChar(85)
|
||||||
if charCode == 65366 { charCode = UniChar(86) }
|
case 65366: charCode = UniChar(86)
|
||||||
if charCode == 65367 { charCode = UniChar(87) }
|
case 65367: charCode = UniChar(87)
|
||||||
if charCode == 65368 { charCode = UniChar(88) }
|
case 65368: charCode = UniChar(88)
|
||||||
if charCode == 65369 { charCode = UniChar(89) }
|
case 65369: charCode = UniChar(89)
|
||||||
if charCode == 65370 { charCode = UniChar(90) }
|
case 65370: charCode = UniChar(90)
|
||||||
|
default: break
|
||||||
}
|
}
|
||||||
default: break
|
default: break
|
||||||
}
|
}
|
||||||
// 注音鍵群。
|
// 注音鍵群。
|
||||||
if charCode == 12573 { charCode = UniChar(44) }
|
switch charCode {
|
||||||
if charCode == 12582 { charCode = UniChar(45) }
|
case 12573: charCode = UniChar(44)
|
||||||
if charCode == 12577 { charCode = UniChar(46) }
|
case 12582: charCode = UniChar(45)
|
||||||
if charCode == 12581 { charCode = UniChar(47) }
|
case 12577: charCode = UniChar(46)
|
||||||
if charCode == 12578 { charCode = UniChar(48) }
|
case 12581: charCode = UniChar(47)
|
||||||
if charCode == 12549 { charCode = UniChar(49) }
|
case 12578: charCode = UniChar(48)
|
||||||
if charCode == 12553 { charCode = UniChar(50) }
|
case 12549: charCode = UniChar(49)
|
||||||
if charCode == 711 { charCode = UniChar(51) }
|
case 12553: charCode = UniChar(50)
|
||||||
if charCode == 715 { charCode = UniChar(52) }
|
case 711: charCode = UniChar(51)
|
||||||
if charCode == 12563 { charCode = UniChar(53) }
|
case 715: charCode = UniChar(52)
|
||||||
if charCode == 714 { charCode = UniChar(54) }
|
case 12563: charCode = UniChar(53)
|
||||||
if charCode == 729 { charCode = UniChar(55) }
|
case 714: charCode = UniChar(54)
|
||||||
if charCode == 12570 { charCode = UniChar(56) }
|
case 729: charCode = UniChar(55)
|
||||||
if charCode == 12574 { charCode = UniChar(57) }
|
case 12570: charCode = UniChar(56)
|
||||||
if charCode == 12580 { charCode = UniChar(59) }
|
case 12574: charCode = UniChar(57)
|
||||||
if charCode == 12551 { charCode = UniChar(97) }
|
case 12580: charCode = UniChar(59)
|
||||||
if charCode == 12566 { charCode = UniChar(98) }
|
case 12551: charCode = UniChar(97)
|
||||||
if charCode == 12559 { charCode = UniChar(99) }
|
case 12566: charCode = UniChar(98)
|
||||||
if charCode == 12558 { charCode = UniChar(100) }
|
case 12559: charCode = UniChar(99)
|
||||||
if charCode == 12557 { charCode = UniChar(101) }
|
case 12558: charCode = UniChar(100)
|
||||||
if charCode == 12561 { charCode = UniChar(102) }
|
case 12557: charCode = UniChar(101)
|
||||||
if charCode == 12565 { charCode = UniChar(103) }
|
case 12561: charCode = UniChar(102)
|
||||||
if charCode == 12568 { charCode = UniChar(104) }
|
case 12565: charCode = UniChar(103)
|
||||||
if charCode == 12571 { charCode = UniChar(105) }
|
case 12568: charCode = UniChar(104)
|
||||||
if charCode == 12584 { charCode = UniChar(106) }
|
case 12571: charCode = UniChar(105)
|
||||||
if charCode == 12572 { charCode = UniChar(107) }
|
case 12584: charCode = UniChar(106)
|
||||||
if charCode == 12576 { charCode = UniChar(108) }
|
case 12572: charCode = UniChar(107)
|
||||||
if charCode == 12585 { charCode = UniChar(109) }
|
case 12576: charCode = UniChar(108)
|
||||||
if charCode == 12569 { charCode = UniChar(110) }
|
case 12585: charCode = UniChar(109)
|
||||||
if charCode == 12575 { charCode = UniChar(111) }
|
case 12569: charCode = UniChar(110)
|
||||||
if charCode == 12579 { charCode = UniChar(112) }
|
case 12575: charCode = UniChar(111)
|
||||||
if charCode == 12550 { charCode = UniChar(113) }
|
case 12579: charCode = UniChar(112)
|
||||||
if charCode == 12560 { charCode = UniChar(114) }
|
case 12550: charCode = UniChar(113)
|
||||||
if charCode == 12555 { charCode = UniChar(115) }
|
case 12560: charCode = UniChar(114)
|
||||||
if charCode == 12564 { charCode = UniChar(116) }
|
case 12555: charCode = UniChar(115)
|
||||||
if charCode == 12583 { charCode = UniChar(117) }
|
case 12564: charCode = UniChar(116)
|
||||||
if charCode == 12562 { charCode = UniChar(118) }
|
case 12583: charCode = UniChar(117)
|
||||||
if charCode == 12554 { charCode = UniChar(119) }
|
case 12562: charCode = UniChar(118)
|
||||||
if charCode == 12556 { charCode = UniChar(120) }
|
case 12554: charCode = UniChar(119)
|
||||||
if charCode == 12567 { charCode = UniChar(121) }
|
case 12556: charCode = UniChar(120)
|
||||||
if charCode == 12552 { charCode = UniChar(122) }
|
case 12567: charCode = UniChar(121)
|
||||||
|
case 12552: charCode = UniChar(122)
|
||||||
|
default: break
|
||||||
|
}
|
||||||
// 除了數字鍵區以外的標點符號。
|
// 除了數字鍵區以外的標點符號。
|
||||||
if charCode == 12289 { charCode = UniChar(92) }
|
switch charCode {
|
||||||
if charCode == 12300 { charCode = UniChar(91) }
|
case 12289: charCode = UniChar(92)
|
||||||
if charCode == 12301 { charCode = UniChar(93) }
|
case 12300: charCode = UniChar(91)
|
||||||
if charCode == 12302 { charCode = UniChar(123) }
|
case 12301: charCode = UniChar(93)
|
||||||
if charCode == 12303 { charCode = UniChar(125) }
|
case 12302: charCode = UniChar(123)
|
||||||
if charCode == 65292 { charCode = UniChar(60) }
|
case 12303: charCode = UniChar(125)
|
||||||
if charCode == 12290 { charCode = UniChar(62) }
|
case 65292: charCode = UniChar(60)
|
||||||
|
case 12290: charCode = UniChar(62)
|
||||||
|
default: break
|
||||||
|
}
|
||||||
// 摁了 SHIFT 之後的數字區的符號。
|
// 摁了 SHIFT 之後的數字區的符號。
|
||||||
if charCode == 65281 { charCode = UniChar(33) }
|
switch charCode {
|
||||||
if charCode == 65312 { charCode = UniChar(64) }
|
case 65281: charCode = UniChar(33)
|
||||||
if charCode == 65283 { charCode = UniChar(35) }
|
case 65312: charCode = UniChar(64)
|
||||||
if charCode == 65284 { charCode = UniChar(36) }
|
case 65283: charCode = UniChar(35)
|
||||||
if charCode == 65285 { charCode = UniChar(37) }
|
case 65284: charCode = UniChar(36)
|
||||||
if charCode == 65087 { charCode = UniChar(94) }
|
case 65285: charCode = UniChar(37)
|
||||||
if charCode == 65286 { charCode = UniChar(38) }
|
case 65087: charCode = UniChar(94)
|
||||||
if charCode == 65290 { charCode = UniChar(42) }
|
case 65286: charCode = UniChar(38)
|
||||||
if charCode == 65288 { charCode = UniChar(40) }
|
case 65290: charCode = UniChar(42)
|
||||||
if charCode == 65289 { charCode = UniChar(41) }
|
case 65288: charCode = UniChar(40)
|
||||||
|
case 65289: charCode = UniChar(41)
|
||||||
|
default: break
|
||||||
|
}
|
||||||
// 摁了 Alt 的符號。
|
// 摁了 Alt 的符號。
|
||||||
if charCode == 8212 { charCode = UniChar(45) }
|
if charCode == 8212 { charCode = UniChar(45) }
|
||||||
// Apple 倚天注音佈局追加符號糾正項目。
|
// Apple 倚天注音佈局追加符號糾正項目。
|
||||||
if mgrPrefs.basicKeyboardLayout == "com.apple.keylayout.ZhuyinEten" {
|
if mgrPrefs.basicKeyboardLayout == "com.apple.keylayout.ZhuyinEten" {
|
||||||
if charCode == 65343 { charCode = UniChar(95) }
|
switch charCode {
|
||||||
if charCode == 65306 { charCode = UniChar(58) }
|
case 65343: charCode = UniChar(95)
|
||||||
if charCode == 65311 { charCode = UniChar(63) }
|
case 65306: charCode = UniChar(58)
|
||||||
if charCode == 65291 { charCode = UniChar(43) }
|
case 65311: charCode = UniChar(63)
|
||||||
if charCode == 65372 { charCode = UniChar(124) }
|
case 65291: charCode = UniChar(43)
|
||||||
|
case 65372: charCode = UniChar(124)
|
||||||
|
default: break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return charCode
|
return charCode
|
||||||
}
|
}
|
||||||
|
|
||||||
class func cnvStringApple2ABC(_ strProcessed: String) -> String {
|
static func cnvStringApple2ABC(_ strProcessed: String) -> String {
|
||||||
var strProcessed = strProcessed
|
var strProcessed = strProcessed
|
||||||
if isDynamicBasicKeyboardLayoutEnabled() {
|
if isDynamicBasicKeyboardLayoutEnabled {
|
||||||
// 針對不同的 Apple 動態鍵盤佈局糾正大寫英文輸入。
|
// 針對不同的 Apple 動態鍵盤佈局糾正大寫英文輸入。
|
||||||
switch mgrPrefs.basicKeyboardLayout {
|
switch mgrPrefs.basicKeyboardLayout {
|
||||||
case "com.apple.keylayout.ZhuyinBopomofo":
|
case "com.apple.keylayout.ZhuyinBopomofo":
|
||||||
do {
|
switch strProcessed {
|
||||||
if strProcessed == "a" { strProcessed = "A" }
|
case "a": strProcessed = "A"
|
||||||
if strProcessed == "b" { strProcessed = "B" }
|
case "b": strProcessed = "B"
|
||||||
if strProcessed == "c" { strProcessed = "C" }
|
case "c": strProcessed = "C"
|
||||||
if strProcessed == "d" { strProcessed = "D" }
|
case "d": strProcessed = "D"
|
||||||
if strProcessed == "e" { strProcessed = "E" }
|
case "e": strProcessed = "E"
|
||||||
if strProcessed == "f" { strProcessed = "F" }
|
case "f": strProcessed = "F"
|
||||||
if strProcessed == "g" { strProcessed = "G" }
|
case "g": strProcessed = "G"
|
||||||
if strProcessed == "h" { strProcessed = "H" }
|
case "h": strProcessed = "H"
|
||||||
if strProcessed == "i" { strProcessed = "I" }
|
case "i": strProcessed = "I"
|
||||||
if strProcessed == "j" { strProcessed = "J" }
|
case "j": strProcessed = "J"
|
||||||
if strProcessed == "k" { strProcessed = "K" }
|
case "k": strProcessed = "K"
|
||||||
if strProcessed == "l" { strProcessed = "L" }
|
case "l": strProcessed = "L"
|
||||||
if strProcessed == "m" { strProcessed = "M" }
|
case "m": strProcessed = "M"
|
||||||
if strProcessed == "n" { strProcessed = "N" }
|
case "n": strProcessed = "N"
|
||||||
if strProcessed == "o" { strProcessed = "O" }
|
case "o": strProcessed = "O"
|
||||||
if strProcessed == "p" { strProcessed = "P" }
|
case "p": strProcessed = "P"
|
||||||
if strProcessed == "q" { strProcessed = "Q" }
|
case "q": strProcessed = "Q"
|
||||||
if strProcessed == "r" { strProcessed = "R" }
|
case "r": strProcessed = "R"
|
||||||
if strProcessed == "s" { strProcessed = "S" }
|
case "s": strProcessed = "S"
|
||||||
if strProcessed == "t" { strProcessed = "T" }
|
case "t": strProcessed = "T"
|
||||||
if strProcessed == "u" { strProcessed = "U" }
|
case "u": strProcessed = "U"
|
||||||
if strProcessed == "v" { strProcessed = "V" }
|
case "v": strProcessed = "V"
|
||||||
if strProcessed == "w" { strProcessed = "W" }
|
case "w": strProcessed = "W"
|
||||||
if strProcessed == "x" { strProcessed = "X" }
|
case "x": strProcessed = "X"
|
||||||
if strProcessed == "y" { strProcessed = "Y" }
|
case "y": strProcessed = "Y"
|
||||||
if strProcessed == "z" { strProcessed = "Z" }
|
case "z": strProcessed = "Z"
|
||||||
|
default: break
|
||||||
}
|
}
|
||||||
case "com.apple.keylayout.ZhuyinEten":
|
case "com.apple.keylayout.ZhuyinEten":
|
||||||
do {
|
switch strProcessed {
|
||||||
if strProcessed == "a" { strProcessed = "A" }
|
case "a": strProcessed = "A"
|
||||||
if strProcessed == "b" { strProcessed = "B" }
|
case "b": strProcessed = "B"
|
||||||
if strProcessed == "c" { strProcessed = "C" }
|
case "c": strProcessed = "C"
|
||||||
if strProcessed == "d" { strProcessed = "D" }
|
case "d": strProcessed = "D"
|
||||||
if strProcessed == "e" { strProcessed = "E" }
|
case "e": strProcessed = "E"
|
||||||
if strProcessed == "f" { strProcessed = "F" }
|
case "f": strProcessed = "F"
|
||||||
if strProcessed == "g" { strProcessed = "G" }
|
case "g": strProcessed = "G"
|
||||||
if strProcessed == "h" { strProcessed = "H" }
|
case "h": strProcessed = "H"
|
||||||
if strProcessed == "i" { strProcessed = "I" }
|
case "i": strProcessed = "I"
|
||||||
if strProcessed == "j" { strProcessed = "J" }
|
case "j": strProcessed = "J"
|
||||||
if strProcessed == "k" { strProcessed = "K" }
|
case "k": strProcessed = "K"
|
||||||
if strProcessed == "l" { strProcessed = "L" }
|
case "l": strProcessed = "L"
|
||||||
if strProcessed == "m" { strProcessed = "M" }
|
case "m": strProcessed = "M"
|
||||||
if strProcessed == "n" { strProcessed = "N" }
|
case "n": strProcessed = "N"
|
||||||
if strProcessed == "o" { strProcessed = "O" }
|
case "o": strProcessed = "O"
|
||||||
if strProcessed == "p" { strProcessed = "P" }
|
case "p": strProcessed = "P"
|
||||||
if strProcessed == "q" { strProcessed = "Q" }
|
case "q": strProcessed = "Q"
|
||||||
if strProcessed == "r" { strProcessed = "R" }
|
case "r": strProcessed = "R"
|
||||||
if strProcessed == "s" { strProcessed = "S" }
|
case "s": strProcessed = "S"
|
||||||
if strProcessed == "t" { strProcessed = "T" }
|
case "t": strProcessed = "T"
|
||||||
if strProcessed == "u" { strProcessed = "U" }
|
case "u": strProcessed = "U"
|
||||||
if strProcessed == "v" { strProcessed = "V" }
|
case "v": strProcessed = "V"
|
||||||
if strProcessed == "w" { strProcessed = "W" }
|
case "w": strProcessed = "W"
|
||||||
if strProcessed == "x" { strProcessed = "X" }
|
case "x": strProcessed = "X"
|
||||||
if strProcessed == "y" { strProcessed = "Y" }
|
case "y": strProcessed = "Y"
|
||||||
if strProcessed == "z" { strProcessed = "Z" }
|
case "z": strProcessed = "Z"
|
||||||
|
default: break
|
||||||
}
|
}
|
||||||
default: break
|
default: break
|
||||||
}
|
}
|
||||||
// 注音鍵群。
|
// 注音鍵群。
|
||||||
if strProcessed == "ㄝ" { strProcessed = "," }
|
switch strProcessed {
|
||||||
if strProcessed == "ㄦ" { strProcessed = "-" }
|
case "ㄝ": strProcessed = ","
|
||||||
if strProcessed == "ㄡ" { strProcessed = "." }
|
case "ㄦ": strProcessed = "-"
|
||||||
if strProcessed == "ㄥ" { strProcessed = "/" }
|
case "ㄡ": strProcessed = "."
|
||||||
if strProcessed == "ㄢ" { strProcessed = "0" }
|
case "ㄥ": strProcessed = "/"
|
||||||
if strProcessed == "ㄅ" { strProcessed = "1" }
|
case "ㄢ": strProcessed = "0"
|
||||||
if strProcessed == "ㄉ" { strProcessed = "2" }
|
case "ㄅ": strProcessed = "1"
|
||||||
if strProcessed == "ˇ" { strProcessed = "3" }
|
case "ㄉ": strProcessed = "2"
|
||||||
if strProcessed == "ˋ" { strProcessed = "4" }
|
case "ˇ": strProcessed = "3"
|
||||||
if strProcessed == "ㄓ" { strProcessed = "5" }
|
case "ˋ": strProcessed = "4"
|
||||||
if strProcessed == "ˊ" { strProcessed = "6" }
|
case "ㄓ": strProcessed = "5"
|
||||||
if strProcessed == "˙" { strProcessed = "7" }
|
case "ˊ": strProcessed = "6"
|
||||||
if strProcessed == "ㄚ" { strProcessed = "8" }
|
case "˙": strProcessed = "7"
|
||||||
if strProcessed == "ㄞ" { strProcessed = "9" }
|
case "ㄚ": strProcessed = "8"
|
||||||
if strProcessed == "ㄤ" { strProcessed = ";" }
|
case "ㄞ": strProcessed = "9"
|
||||||
if strProcessed == "ㄇ" { strProcessed = "a" }
|
case "ㄤ": strProcessed = ";"
|
||||||
if strProcessed == "ㄖ" { strProcessed = "b" }
|
case "ㄇ": strProcessed = "a"
|
||||||
if strProcessed == "ㄏ" { strProcessed = "c" }
|
case "ㄖ": strProcessed = "b"
|
||||||
if strProcessed == "ㄎ" { strProcessed = "d" }
|
case "ㄏ": strProcessed = "c"
|
||||||
if strProcessed == "ㄍ" { strProcessed = "e" }
|
case "ㄎ": strProcessed = "d"
|
||||||
if strProcessed == "ㄑ" { strProcessed = "f" }
|
case "ㄍ": strProcessed = "e"
|
||||||
if strProcessed == "ㄕ" { strProcessed = "g" }
|
case "ㄑ": strProcessed = "f"
|
||||||
if strProcessed == "ㄘ" { strProcessed = "h" }
|
case "ㄕ": strProcessed = "g"
|
||||||
if strProcessed == "ㄛ" { strProcessed = "i" }
|
case "ㄘ": strProcessed = "h"
|
||||||
if strProcessed == "ㄨ" { strProcessed = "j" }
|
case "ㄛ": strProcessed = "i"
|
||||||
if strProcessed == "ㄜ" { strProcessed = "k" }
|
case "ㄨ": strProcessed = "j"
|
||||||
if strProcessed == "ㄠ" { strProcessed = "l" }
|
case "ㄜ": strProcessed = "k"
|
||||||
if strProcessed == "ㄩ" { strProcessed = "m" }
|
case "ㄠ": strProcessed = "l"
|
||||||
if strProcessed == "ㄙ" { strProcessed = "n" }
|
case "ㄩ": strProcessed = "m"
|
||||||
if strProcessed == "ㄟ" { strProcessed = "o" }
|
case "ㄙ": strProcessed = "n"
|
||||||
if strProcessed == "ㄣ" { strProcessed = "p" }
|
case "ㄟ": strProcessed = "o"
|
||||||
if strProcessed == "ㄆ" { strProcessed = "q" }
|
case "ㄣ": strProcessed = "p"
|
||||||
if strProcessed == "ㄐ" { strProcessed = "r" }
|
case "ㄆ": strProcessed = "q"
|
||||||
if strProcessed == "ㄋ" { strProcessed = "s" }
|
case "ㄐ": strProcessed = "r"
|
||||||
if strProcessed == "ㄔ" { strProcessed = "t" }
|
case "ㄋ": strProcessed = "s"
|
||||||
if strProcessed == "ㄧ" { strProcessed = "u" }
|
case "ㄔ": strProcessed = "t"
|
||||||
if strProcessed == "ㄒ" { strProcessed = "v" }
|
case "ㄧ": strProcessed = "u"
|
||||||
if strProcessed == "ㄊ" { strProcessed = "w" }
|
case "ㄒ": strProcessed = "v"
|
||||||
if strProcessed == "ㄌ" { strProcessed = "x" }
|
case "ㄊ": strProcessed = "w"
|
||||||
if strProcessed == "ㄗ" { strProcessed = "y" }
|
case "ㄌ": strProcessed = "x"
|
||||||
if strProcessed == "ㄈ" { strProcessed = "z" }
|
case "ㄗ": strProcessed = "y"
|
||||||
|
case "ㄈ": strProcessed = "z"
|
||||||
|
default: break
|
||||||
|
}
|
||||||
// 除了數字鍵區以外的標點符號。
|
// 除了數字鍵區以外的標點符號。
|
||||||
if strProcessed == "、" { strProcessed = "\\" }
|
switch strProcessed {
|
||||||
if strProcessed == "「" { strProcessed = "[" }
|
case "、": strProcessed = "\\"
|
||||||
if strProcessed == "」" { strProcessed = "]" }
|
case "「": strProcessed = "["
|
||||||
if strProcessed == "『" { strProcessed = "{" }
|
case "」": strProcessed = "]"
|
||||||
if strProcessed == "』" { strProcessed = "}" }
|
case "『": strProcessed = "{"
|
||||||
if strProcessed == "," { strProcessed = "<" }
|
case "』": strProcessed = "}"
|
||||||
if strProcessed == "。" { strProcessed = ">" }
|
case ",": strProcessed = "<"
|
||||||
|
case "。": strProcessed = ">"
|
||||||
|
default: break
|
||||||
|
}
|
||||||
// 摁了 SHIFT 之後的數字區的符號。
|
// 摁了 SHIFT 之後的數字區的符號。
|
||||||
if strProcessed == "!" { strProcessed = "!" }
|
switch strProcessed {
|
||||||
if strProcessed == "@" { strProcessed = "@" }
|
case "!": strProcessed = "!"
|
||||||
if strProcessed == "#" { strProcessed = "#" }
|
case "@": strProcessed = "@"
|
||||||
if strProcessed == "$" { strProcessed = "$" }
|
case "#": strProcessed = "#"
|
||||||
if strProcessed == "%" { strProcessed = "%" }
|
case "$": strProcessed = "$"
|
||||||
if strProcessed == "︿" { strProcessed = "^" }
|
case "%": strProcessed = "%"
|
||||||
if strProcessed == "&" { strProcessed = "&" }
|
case "︿": strProcessed = "^"
|
||||||
if strProcessed == "*" { strProcessed = "*" }
|
case "&": strProcessed = "&"
|
||||||
if strProcessed == "(" { strProcessed = "(" }
|
case "*": strProcessed = "*"
|
||||||
if strProcessed == ")" { strProcessed = ")" }
|
case "(": strProcessed = "("
|
||||||
|
case ")": strProcessed = ")"
|
||||||
|
default: break
|
||||||
|
}
|
||||||
// 摁了 Alt 的符號。
|
// 摁了 Alt 的符號。
|
||||||
if strProcessed == "—" { strProcessed = "-" }
|
if strProcessed == "—" { strProcessed = "-" }
|
||||||
// Apple 倚天注音佈局追加符號糾正項目。
|
// Apple 倚天注音佈局追加符號糾正項目。
|
||||||
if mgrPrefs.basicKeyboardLayout == "com.apple.keylayout.ZhuyinEten" {
|
if mgrPrefs.basicKeyboardLayout == "com.apple.keylayout.ZhuyinEten" {
|
||||||
if strProcessed == "_" { strProcessed = "_" }
|
switch strProcessed {
|
||||||
if strProcessed == ":" { strProcessed = ":" }
|
case "_": strProcessed = "_"
|
||||||
if strProcessed == "?" { strProcessed = "?" }
|
case ":": strProcessed = ":"
|
||||||
if strProcessed == "+" { strProcessed = "+" }
|
case "?": strProcessed = "?"
|
||||||
if strProcessed == "|" { strProcessed = "|" }
|
case "+": strProcessed = "+"
|
||||||
|
case "|": strProcessed = "|"
|
||||||
|
default: break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return strProcessed
|
return strProcessed
|
||||||
|
|
Loading…
Reference in New Issue