KeyCodes

1.0.2

AppKit Carbon key codes to UIKey-compatible enums
ChimeHQ/KeyCodes

What's New

v1.0.2

2024-01-08T17:15:14Z

What's Changed

  • Add missing end and forward delete keys by @Cykelero in #2
  • Fix missing numericKeypad for NSEvent.keyModifierFlags

New Contributors

Full Changelog: 1.0.1...1.0.2

Build Status Platforms Discord

KeyCodes

Versions of UIKey, UIKeyboardHIDUsage, and UIKeyModifierFlags that work with AppKit's NSEvent. No need for Carbon.HIToolbox. Aside from being a nicer API to work with, these versions should make it possible to more easily write source-compatible AppKit/UIKit keyboard handling code. Yes, this is basically a gigantic switch statement.

These structures are particularly helpful for writing tests. Constructing NSEvent instances by hand is a pain.

Usage

import Carbon.HIToolbox

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

import KeyCodes

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

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 Discord server 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.

Description

  • Swift Tools 5.0.0
View More Packages from this Author

Dependencies

  • None
Last updated: Wed Apr 17 2024 03:54:05 GMT-0900 (Hawaii-Aleutian Daylight Time)