diff options
Diffstat (limited to 'README.markdown')
| -rw-r--r-- | README.markdown | 39 | 
1 files changed, 4 insertions, 35 deletions
| diff --git a/README.markdown b/README.markdown index 26a6b85..1964fc1 100644 --- a/README.markdown +++ b/README.markdown @@ -4,7 +4,7 @@ Copyright © Dave DeLong <http://www.davedelong.com>  ## About -DDHotKey is an easy-to-use Cocoa class for registering an application to respond to system key events, or "hotkeys". +DDHotKey is an easy-to-use package for registering an application to respond to system key events, or "hotkeys".  A global hotkey is a key combination that always executes a specific action, regardless of which app is frontmost.  For example, the Mac OS X default hotkey of "command-space" shows the Spotlight search bar, even if Finder is not the frontmost application. @@ -16,41 +16,10 @@ Permission to use, copy, modify, and/or distribute this software for any purpose  ## Usage -### Including DDHotKey in your project - -You will need to copy these six files into your project: - -- DDHotKeyCenter.h -- DDHotKeyCenter.m -- DDHotKeyUtilities.h -- DDHotKeyUtilities.m -- DDHotKeyTextField.h -- DDHotKeyTextField.m - -Your application will need to link against `Carbon.framework`, and you will need to compile your application with the Clang compiler.  DDHotKey has been tested with Xcode 5 on OS X Mavericks.  No attempt has been made to preserve backwards compatibility. - -### Using DDHotKey in your code -  When you wish to create a hotkey, you'll need to do so via the `DDHotKeyCenter` singleton. -You can register a hotkey in one of two ways: via a target/action mechanism, or with a block.  The target/action mechanism can take a single extra "object" parameter, which it will pass into the action when the hotkey is fired.  Only the `object` parameter is retained by the `DDHotKeyCenter`.  In addition, an `NSEvent` object is passed, which contains information regarding the hotkey event (such as the location, the keyCode, the modifierFlags, etc). - -Hotkey actions must have one of two method signatures (the actual selector is irrelevant): - -    //a method with a single NSEvent parameter -    - (void)hotkeyAction:(NSEvent*)hotKeyEvent; -     - OR -  -    //a method with an NSEvent parameter and an object parameter -    - (void)hotkeyAction:(NSEvent*)hotKeyEvent withObject:(id)anObject; - -The other way to register a hotkey is with a block callback.  The block must have the following signature: - -	void (^)(NSEvent *); - -`DDHotKeyCenter.h` contains a typedef statement to typedef this signature as a `DDHotKeyTask`, for convenience. +All hotkeys execute a block (closure) when invoked. The block is passed an `NSEvent` object, which contains information regarding the hotkey event (such as the location, the keyCode, the modifierFlags, etc). -Any hotkey that you have registered via `DDHotKeyCenter` can be unregistered based on its target, its target and action, or its keycode and modifier flags. +Any hotkey that you have registered via `DDHotKeyCenter` can be unregistered by passing the `DDHotKey` instance back to the `unregister(hotKey:)` method. -DDHotKey also includes a rudimentary `DDHotKeyTextField`, which is an `NSTextField` subclass that simplifies the process of creating a key combination.  Simply drop an `NSTextField` into your xib and change its class to `DDHotKeyTextField`.  Programmatically, you'll get an NSTextField into which you can type arbitrary key combinations.  You access the resulting combination via the textfield's `hotKey` property.
\ No newline at end of file +DDHotKey also includes a rudimentary `DDHotKeyTextField`: an `NSTextField` subclass that simplifies the process of creating a key combination.  Simply drop an `NSTextField` into your xib and change its class to `DDHotKeyTextField`.  Programmatically, you'll get an `NSTextField` into which you can type arbitrary key combinations.  You access the resulting combination via the textfield's `hotKey` property. | 
