forked from joaomoreno/thyme
-
Notifications
You must be signed in to change notification settings - Fork 0
/
DDHotKeyCenter.h
61 lines (46 loc) · 2.41 KB
/
DDHotKeyCenter.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*
DDHotKey -- DDHotKeyCenter.h
Copyright (c) 2010, Dave DeLong <http://www.davedelong.com>
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
The software is provided "as is", without warranty of any kind, including all implied warranties of merchantability and fitness. In no event shall the author(s) or copyright holder(s) be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the software or the use or other dealings in the software.
*/
#import <Cocoa/Cocoa.h>
#define BUILD_FOR_SNOWLEOPARD (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
#if BUILD_FOR_SNOWLEOPARD
//a convenient typedef for the required signature of a hotkey block callback
typedef void (^DDHotKeyTask)(NSEvent*);
#endif
@interface DDHotKeyCenter : NSObject {
}
/**
Register a target/action hotkey.
The modifierFlags must be a bitwise OR of NSCommandKeyMask, NSAlternateKeyMask, NSControlKeyMask, or NSShiftKeyMask;
Returns YES if the hotkey was registered; NO otherwise.
*/
- (BOOL) registerHotKeyWithKeyCode:(unsigned short)keyCode modifierFlags:(NSUInteger)flags target:(id)target action:(SEL)action object:(id)object;
#if BUILD_FOR_SNOWLEOPARD
/**
Register a block callback hotkey.
The modifierFlags must be a bitwise OR of NSCommandKeyMask, NSAlternateKeyMask, NSControlKeyMask, or NSShiftKeyMask;
Returns YES if the hotkey was registered; NO otherwise.
*/
- (BOOL) registerHotKeyWithKeyCode:(unsigned short)keyCode modifierFlags:(NSUInteger)flags task:(DDHotKeyTask)task;
#endif
/**
See if a hotkey exists with the specified keycode and modifier flags.
NOTE: this will only check among hotkeys you have explicitly registered. This does not check all globally registered hotkeys.
*/
- (BOOL) hasRegisteredHotKeyWithKeyCode:(unsigned short)keyCode modifierFlags:(NSUInteger)flags;
/**
Unregister all hotkeys with a specific target
*/
- (void) unregisterHotKeysWithTarget:(id)target;
/**
Unregister all hotkeys with a specific target and action
*/
- (void) unregisterHotKeysWithTarget:(id)target action:(SEL)action;
/**
Unregister a hotkey with a specific keycode and modifier flags
*/
- (void) unregisterHotKeyWithKeyCode:(unsigned short)keyCode modifierFlags:(NSUInteger)flags;
@end