Skip to content

The only user interface control to record shortcuts. For Mac OS X 10.6+, 64bit

License

Notifications You must be signed in to change notification settings

bigbearlabs/ShortcutRecorder

 
 

Repository files navigation

CC BY 4.0 macOS 10.11 Mac App Store Approved

ShortcutRecorder

The best control to record shortcuts on macOS

  • Designed with Swift in mind
  • Easily stylable
  • Translated into 23 languages
  • Supports macOS Accessibility
  • Thoroughly documented
  • Mac App Store approved
  • End-to-end Interface Builder integration

What is inside

The framework comes with:

  • SRRecorderControl to render and capture user input
  • SRRecorderControlStyle for custom styling
  • SRShortcut that represents a shortcut model
  • SRShortcutRegistration to turn the shortcut into an action by registering a global hot key
  • SRShortcutItem and SRShortcutItemCatalog are indispensable for custom key equivalent handling in subclasses of NSViewController
  • SRShortcutController for smooth Cocoa Bindings and seamless Interface Builder integration
  • SRShortcutValidator to check validity of the shortcut against Cocoa key equivalents and global hot keys
  • NSValueTransformer and NSFormatter subclasses for custom alternations
import ShortcutRecorder

let shortcut = Shortcut(keyEquivalent: "⇧⌘A")
let recorder = RecorderControl()

let defaults = NSUserDefaultsController.shared
let keyPath = "values.shortcut"
let options = [NSBindingOption.valueTransformerName: NSValueTransformerName.keyedUnarchiveFromDataTransformerName]

recorder.bind(.value, to: defaults, withKeyPath: keyPath, options: options)
let registration = ShortcutRegistration(keyPath: keyPath, of: defaults) {_ in NSSound.beep() }

Integration

Make sure that your binaries depends ShortcutRecorder.framework import ShortcutRecorder / #import <ShortcutRecorder/ShortcutRecorder.h> The framework supports modulemaps, no linking configuration is required.

CocoaPods

Just follow your usual routine:

 pod 'ShortcutRecorder', '~> 3.0'

Carthage

Again, nothing special:

github "Kentzo/ShortcutRecorder" ~> 3.0

Git Submodule

Add the submodule:

git submodule add git://github.com/Kentzo/ShortcutRecorder.git

Then drag'n'drop into your Xcode's workspace and update your targets.

Next Steps

  • The Documentation playground covers all parts of the framework
  • The Inspector app gives hands-on experience and is extremely useful for development of custom styles
  • Read about Styling and special notes regarding Cocoa's Key Equivalents.

Questions

Still have questions? Create an issue.

Paid Support

Paid support is available for custom alternations, help with integration and general advice regarding Cocoa development.

About

The only user interface control to record shortcuts. For Mac OS X 10.6+, 64bit

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 68.5%
  • Swift 31.1%
  • Other 0.4%