X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/a509b00348962d2980891d0c66657028e280e162..0147e1dcf90e00eb4e0875c2ea2f9971fe3c51ef:/KeyBroadcaster.m diff --git a/KeyBroadcaster.m b/KeyBroadcaster.m deleted file mode 100755 index 724c7a2..0000000 --- a/KeyBroadcaster.m +++ /dev/null @@ -1,60 +0,0 @@ -#import "KeyBroadcaster.h" -#import - -@interface KeyBroadcaster (Private) -- (void)_broadcastKeyCode:(short)keyCode andModifiers:(long)modifiers; -@end - -@implementation KeyBroadcaster - -- (void)keyDown:(NSEvent *)event -{ - short keyCode; - long modifiers; - - keyCode = [event keyCode]; - modifiers = [event modifierFlags]; - - modifiers = [KeyBroadcaster cocoaToCarbonModifiers:modifiers]; - if (modifiers > 0) { - [self _broadcastKeyCode:keyCode andModifiers:modifiers]; - } -} - -- (BOOL)performKeyEquivalent:(NSEvent *)event -{ - [self keyDown:event]; - return YES; -} - -- (void)_broadcastKeyCode:(short)keyCode andModifiers:(long)modifiers -{ - NSNumber *keycodeNum = [NSNumber numberWithShort:keyCode]; - NSNumber *modifiersNum = [NSNumber numberWithLong:modifiers]; - NSDictionary *info = [NSDictionary dictionaryWithObjectsAndKeys: - keycodeNum, @"KeyCode", modifiersNum, @"Modifiers", nil, nil]; - [[NSNotificationCenter defaultCenter] postNotificationName:@"KeyBroadcasterEvent" object:self userInfo:info]; -} - -+ (long)cocoaToCarbonModifiers:(long)modifiers -{ - long carbonModifiers = 0; - int i; - static long cocoaToCarbon[6][2] = - { - { NSCommandKeyMask, cmdKey }, - { NSAlternateKeyMask, optionKey }, - { NSControlKeyMask, controlKey }, - { NSShiftKeyMask, shiftKey }, - }; - for (i = 0; i < 6; i++) - { - if (modifiers & cocoaToCarbon[i][0]) - { - carbonModifiers += cocoaToCarbon[i][1]; - } - } - return carbonModifiers; -} - -@end