Build Status Platforms Matrix

KeyCodes(按键码)

与 AppKit 的 NSEvent 配合使用的 UIKeyUIKeyboardHIDUsageUIKeyModifierFlags 版本。无需 Carbon.HIToolbox。除了提供更友好的 API 之外,这些版本应该可以更轻松地编写源码兼容的 AppKit/UIKit 键盘处理代码。是的,这基本上是一个巨大的 switch 语句。

这些结构对于编写测试特别有用。手动构造 NSEvent 实例非常麻烦。

用法

import Carbon.HIToolbox

func withoutKeyCodes(_ event: NSEvent) {
    let code = Int(event.keyCode)
    
    if code == kVK_Return {
        doThing()
    }

    if event.modifierFlags.deviceIndependentOnly.contains(.control) {
        controlKeyActive()
    }
}

import KeyCodes

func withKeyCodes(_ event: NSEvent) {
    if event.keyboardHIDUsage == .keyboardReturn {
        doThing()
    }

    // UIKeyModifierFlags-compatible
    if event.keyModifierFlags.contains(.control) {
        controlKeyActive()
    }
}

集成

dependencies: [
    .package(url: "https://github.com/ChimeHQ/KeyCodes", from: "0.1.1")
]

贡献与协作

我很乐意收到您的来信!提交 Issue 或 Pull Request 非常棒。Matrix space 也可用于实时帮助,但我强烈倾向于以文档的形式进行回复。

我更喜欢协作,如果您有类似的项目,我很乐意找到合作的方式。

我更喜欢用制表符进行缩进,以提高可访问性。但是,我宁愿您使用您想要的系统并创建一个 PR,也不希望您因为空格而犹豫。

通过参与此项目,您同意遵守贡献者行为准则