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