IMKHelper // Patch certain keyboard layouts missing in old macOS.

This commit is contained in:
ShikiSuen 2023-02-13 22:06:40 +08:00
parent 2aff9f0ee2
commit 151b9c4899
2 changed files with 26 additions and 12 deletions

View File

@ -14,17 +14,25 @@ import InputMethodKit
public enum IMKHelper {
///
/// SwiftUI 便使
public static let arrWhitelistedKeyLayoutsASCII: [String] = [
"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",
]
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.append("com.apple.keylayout.US")
result.append("com.apple.keylayout.German")
result.append("com.apple.keylayout.French")
}
return result
}()
public static let arrDynamicBasicKeyLayouts: [String] = [
"com.apple.keylayout.ZhuyinBopomofo",

View File

@ -15,7 +15,13 @@ public class PrefMgr: PrefMgrProtocol {
public static let shared = PrefMgr()
public static let kDefaultCandidateKeys = "123456789"
public static let kDefaultBasicKeyboardLayout = "com.apple.keylayout.ZhuyinBopomofo"
public static let kDefaultAlphanumericalKeyboardLayout = "com.apple.keylayout.ABC"
public static let kDefaultAlphanumericalKeyboardLayout = {
if #available(macOS 10.13, *) {
return "com.apple.keylayout.ABC"
}
return "com.apple.keylayout.US"
}()
public static let kDefaultClientsIMKTextInputIncapable: [String] = [
"com.valvesoftware.steam", "jp.naver.line.mac",
]