Sauce 2.4.1

Sauce 2.4.1

econa77econa77维护。



Sauce 2.4.1

  • Econa77

Sauce

CI Release version License: MIT Carthage compatible Version Platform SPM supported

映射macOS中各种键盘布局源和键码。例如:QWERTY,Dvorak

动机

由于Carbon.framework中定义的键码仅适用于ANSI标准的US键盘,因此我们只能获得QWERTY键盘布局的键码(例如:kVK_ANSI_V
在QWERTY以外的布局中(例如Dvorak),虚拟键码不同。

键盘布局 键码
QWERTY v 9
Dvorak v 47

这个库旨在映射输入源的键码,以便在多种键盘布局中获取正确的键码。

用法

CocoaPods

pod 'Sauce'

Carthage

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])

通知

NSNotification.Name.SauceEnabledKeyboardInputSourcesChanged

SauceEnabledKeyboardInputSourcesChanged 与 Carbon.framework 中的 kTISNotifyEnabledKeyboardInputSourcesChanged 相同。

NSNotification.Name.SauceSelectedKeyboardInputSourceChanged

SauceSelectedKeyboardInputSourceChangedkTISNotifySelectedKeyboardInputSourceChanged 不同,只有在输入源标识符改变时才会通知。
由于它是经过筛选并通知的,请不要将其用于与正常的 kTISNotifySelectedKeyboardInputSourceChanged 相同的目的。

NSNotification.Name.SauceSelectedKeyboardKeyCodesChanged

使用此通知可以检测当键盘布局设置更改时,当输入源从QWERTY更改为Dvorak等情况。