Le 8 mars 2011 à 04:40, Deepa a écrit : > Hi, > > I am developing a desktop application that supports one of the feature > through Hot Key. I am using Event Tap for this to work. > > But, sometimes (randomly) the callback is not invoked; Hot Key does not work > and hence the feature seems to be not working. > > Could someone help me out in identifying the problem here. > > Following is the code snippet: > > -( void )startEventTapinThread //Called in a separate thread. > { > NSAutoreleasePool *pool =[ [ NSAutoreleasePool alloc] init]; > > CFRunLoopRef runloop =(CFRunLoopRef)CFRunLoopGetCurrent(); > CGEventMask interestedEvents = > CGEventMaskBit(kCGEventFlagsChanged)|CGEventMaskBit(kCGEventKeyDown); > CFMachPortRef eventTap = CGEventTapCreate(kCGSessionEventTap, > kCGHeadInsertEventTap, 0, interestedEvents, myCGEventCallback, self); > //self is the object pointer our method > CFRunLoopSourceRef source = > CFMachPortCreateRunLoopSource(kCFAllocatorDefault, eventTap, 0); > CFRunLoopAddSource((CFRunLoopRef)runloop , source, > kCFRunLoopCommonModes); > CFRunLoopRun(); > [ pool release]; > } > > CGEventRef myCGEventCallback(CGEventTapProxy proxy, CGEventType type, > CGEventRef event, void *refcon) > { > CGEventType eventType = CGEventGetType(event); > //execute the code related to feature > }
Why you don't use the HotKey API instead (RegisterEventHotKey()) ? It does not require root access or accessibility enabled and it works quite well. -- Jean-Daniel _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com