Thanks all for some tips.  I'm going to try the following ideas and I'll let
you know how it goes:
- Run as root
- Try just trapping on keyboard events
- Append my event tap to the tail, and try annotated.



On Mon, Aug 10, 2009 at 9:37 AM, James W. Walker <o...@jwwalker.com> wrote:

>
> On Aug 9, 2009, at 3:15 PM, Nat Burke wrote:
>
>   I have posted my event tap creation code below - I've searched all over
>> the mailing list and the net to see if I could find a solution, but I am
>> genuinely stuck. Any help is greatly appreciated!
>>
>>
>>  // Create an event tap.
>>  eventMask = CGEventMaskBit(kCGEventRightMouseDown) |
>>              CGEventMaskBit(kCGEventRightMouseUp)   |
>>              CGEventMaskBit(kCGEventRightMouseDragged) |
>>              CGEventMaskBit(kCGEventMouseMoved)     |
>>              CGEventMaskBit(kCGEventScrollWheel)    |
>>              CGEventMaskBit(kCGEventFlagsChanged) |
>>              CGEventMaskBit(kCGEventKeyDown) |
>>              CGEventMaskBit(kCGEventKeyUp);
>>
>>  DebugLog(@"Event before: %x", eventMask);
>>
>>  eventTap = CGEventTapCreate(kCGSessionEventTap, kCGHeadInsertEventTap,
>> kCGEventTapOptionDefault, eventMask, MouseCallback, self);
>>
>>  DebugLog(@"Event after: %x", eventMask);
>>
>>  if (!eventTap) {
>>     fprintf(stderr, "Failed to create event tap\n");
>>     exit(1);
>>  }
>>
>>  // Create a run loop source.
>>  runLoopSource =
>> CFMachPortCreateRunLoopSource(/*kCFAllocatorDefault*/NULL, eventTap, 0);
>>
>>  CFRelease(eventTap);
>>
>>  // Add to the current run loop.
>>  CFRunLoopAddSource([[NSRunLoop currentRunLoop] getCFRunLoop],
>> runLoopSource, kCFRunLoopCommonModes);
>>
>>  // Enable the event tap.
>>  CGEventTapEnable(eventTap, true);
>>
>>  CFRelease(runLoopSource);
>>
>
>
> I compared your code to the code that I use that gets key down
> successfully.  One difference is that I don't immediately CFRelease the
> event tap and source, I keep them around as long as I use the tap.  Another
> is that the first 2 parameters I pass to CGEventTapCreate are
> kCGAnnotatedSessionEventTap and kCGTailAppendEventTap.
>
>
>
_______________________________________________

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

Reply via email to