映射 macOS 中各种键盘布局源和键码。(例如:QWERTY, Dvorak)
Carbon.framework 中定义的键码仅针对 ANSI 标准的 US 键盘。 因此,我们只能获得 QWERTY 键盘布局的键码。(例如:kVK_ANSI_V
)
在 QWERTY 以外的布局中(例如 Dvorak),虚拟键码是不同的。
键盘布局 | 按键 | 键码 |
---|---|---|
QWERTY | v | 9 |
Dvorak | v | 47 |
创建此库的目的是映射输入源的键码,使其能够在各种键盘布局中获取正确的键码。
pod 'Sauce'
github "Clipy/Sauce"
获取当前输入源的键码。
let keyCode = Sauce.shared.keyCode(for: .v)
获取当前输入源的 Key
。
let key = Sauce.shared.key(for: keyCode)
获取当前输入源的字符。
let character = Sauce.shared.character(for: keyCode, carbonModifiers: shiftKey)
let character = Sauce.shared.character(for: keyCode, cocoaModifiers: [.shift])
SauceEnabledKeyboardInputSourcesChanged
与 Carbon.framework 中的 kTISNotifyEnabledKeyboardInputSourcesChanged
相同
SauceSelectedKeyboardInputSourceChanged
不同于 kTISNotifySelectedKeyboardInputSourceChanged
,并且仅在输入源 ID 更改时通知。
由于它经过过滤和通知,请不要将其用于与普通 kTISNotifySelectedKeyboardInputSourceChanged
相同的目的。
通过使用此通知,可以检测到设置更改(使用相同的键盘布局时),输入源从 QWERTY 更改为 Dvorak 时等等。