LatinKeyboardMappings // Maintenance fix with Dvorak.QwertyCMD.
This commit is contained in:
parent
e749e65627
commit
92b2ada9c5
|
@ -15,23 +15,13 @@ public enum IMKHelper {
|
|||
/// 威注音有專門統計過,實際上會有差異的英數鍵盤佈局只有這幾種。
|
||||
/// 精簡成這種清單的話,不但節省 SwiftUI 的繪製壓力,也方便使用者做選擇。
|
||||
public static let arrWhitelistedKeyLayoutsASCII: [String] = {
|
||||
var result = [
|
||||
"com.apple.keylayout.ABC",
|
||||
"com.apple.keylayout.ABC-AZERTY",
|
||||
"com.apple.keylayout.ABC-QWERTZ",
|
||||
"com.apple.keylayout.British",
|
||||
"com.apple.keylayout.Colemak",
|
||||
"com.apple.keylayout.Dvorak",
|
||||
"com.apple.keylayout.Dvorak-Left",
|
||||
"com.apple.keylayout.DVORAK-QWERTYCMD",
|
||||
"com.apple.keylayout.Dvorak-Right",
|
||||
]
|
||||
if #unavailable(macOS 10.13) {
|
||||
result.insert("com.apple.keylayout.US", at: result.startIndex)
|
||||
result.append("com.apple.keylayout.German")
|
||||
result.append("com.apple.keylayout.French")
|
||||
var results = LatinKeyboardMappings.allCases
|
||||
if #available(macOS 10.13, *) {
|
||||
results = results.filter {
|
||||
![.qwertyUS, .qwertzGerman, .azertyFrench].contains($0)
|
||||
}
|
||||
}
|
||||
return result
|
||||
return results.map(\.rawValue)
|
||||
}()
|
||||
|
||||
public static let arrDynamicBasicKeyLayouts: [String] = [
|
||||
|
|
|
@ -8,25 +8,27 @@
|
|||
|
||||
import Foundation
|
||||
|
||||
public enum LatinKeyboardMappings: String {
|
||||
public enum LatinKeyboardMappings: String, CaseIterable {
|
||||
case qwerty = "com.apple.keylayout.ABC"
|
||||
case qwertyUS = "com.apple.keylayout.US"
|
||||
case qwertyBritish = "com.apple.keylayout.British"
|
||||
case qwertyUS = "com.apple.keylayout.US" // 10.9 - 10.12
|
||||
case azerty = "com.apple.keylayout.ABC-AZERTY"
|
||||
case azertyFrench = "com.apple.keylayout.French"
|
||||
case qwertz = "com.apple.keylayout.ABC-QWERTZ"
|
||||
case qwertyGerman = "com.apple.keylayout.German"
|
||||
case azertyFrench = "com.apple.keylayout.French" // 10.9 - 10.12
|
||||
case qwertzGerman = "com.apple.keylayout.German" // 10.9 - 10.12
|
||||
case colemak = "com.apple.keylayout.Colemak"
|
||||
case dvorak = "com.apple.keylayout.Dvorak"
|
||||
case dvorakQwertyCMD = "com.apple.keylayout.DVORAK-QWERTYCMD"
|
||||
case dvorakLeft = "com.apple.keylayout.Dvorak-Left"
|
||||
case dvorakRight = "com.apple.keylayout.Dvorak-Right"
|
||||
|
||||
public var mapTable: [UInt16: (String, String)] {
|
||||
switch self {
|
||||
case .qwerty, .qwertyUS: return Self.dictQwerty
|
||||
case .qwerty, .qwertyUS, .qwertyBritish: return Self.dictQwerty
|
||||
case .azerty, .azertyFrench: return Self.dictAzerty
|
||||
case .qwertz, .qwertyGerman: return Self.dictQwertz
|
||||
case .qwertz, .qwertzGerman: return Self.dictQwertz
|
||||
case .colemak: return Self.dictColemak
|
||||
case .dvorak: return Self.dictDvorak
|
||||
case .dvorak, .dvorakQwertyCMD: return Self.dictDvorak
|
||||
case .dvorakLeft: return Self.dictDvorakLeft
|
||||
case .dvorakRight: return Self.dictDvorakRight
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue