Contents

ChimeHQ/KeyCodes

AppKit Carbon key codes to UIKey-compatible enums

Usage

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()
    }
}

Integration

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

Contributing and Collaboration

I would love to hear from you! Issues or pull requests work great. A [Matrix space][matrix] is also available for live help, but I have a strong bias towards answering in the form of documenation.

I prefer collaboration, and would love to find ways to work together if you have a similar project.

I prefer indentation with tabs for improved accessibility. But, I'd rather you use the system you want and make a PR than hesitate because of whitespace.

By participating in this project you agree to abide by the Contributor Code of Conduct.

[build status]: https://github.com/ChimeHQ/KeyCodes/actions [build status badge]: https://github.com/ChimeHQ/KeyCodes/workflows/CI/badge.svg [platforms]: https://swiftpackageindex.com/ChimeHQ/KeyCodes [platforms badge]: https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2FChimeHQ%2FKeyCodes%2Fbadge%3Ftype%3Dplatforms [matrix]: https://matrix.to/#/%23chimehq%3Amatrix.org [matrix badge]: https://img.shields.io/matrix/chimehq%3Amatrix.org?label=Matrix

Package Metadata

Repository: ChimeHQ/KeyCodes

Stars: 40

Forks: 3

Open issues: 0

Default branch: main

Primary language: swift

License: BSD-3-Clause

Topics: appkit, keyboard, nsevent, swift

README: README.md