// // MediaKeysApplication.m // Cog // // Created by Vincent Spader on 10/3/07. // Copyright 2007 __MyCompanyName__. All rights reserved. // #import "MediaKeysApplication.h" #import "AppController.h" @implementation MediaKeysApplication - (void)mediaKeyEvent: (int)key state: (BOOL)state repeat: (BOOL)repeat { switch( key ) { case NX_KEYTYPE_PLAY: if( state == 0 ) [[self delegate] clickPlay]; //Play pressed and released break; case NX_KEYTYPE_FAST: if( state == 0 ) [[self delegate] clickNext]; //Next pressed and released break; case NX_KEYTYPE_REWIND: if( state == 0 ) [[self delegate] clickPrev]; //Previous pressed and released break; } } - (void)sendEvent: (NSEvent*)event { if( [event type] == NSSystemDefined && [event subtype] == 8 ) { int keyCode = (([event data1] & 0xFFFF0000) >> 16); int keyFlags = ([event data1] & 0x0000FFFF); int keyState = (((keyFlags & 0xFF00) >> 8)) ==0xA; int keyRepeat = (keyFlags & 0x1); [self mediaKeyEvent: keyCode state: keyState repeat: keyRepeat]; } [super sendEvent: event]; } @end