You want NSEvent's

+ (id)addGlobalMonitorForEventsMatchingMask:(NSEventMask)*mask* handler:(void
(^)(NSEvent*))*block*
*and*
*

+ (id)addLocalMonitorForEventsMatchingMask:(NSEventMask)mask handler:(NSEvent*
(^)(NSEvent*))block

Bob
*

On Sat, Feb 20, 2010 at 11:45 AM, Vikram Sethi <vik....@gmail.com> wrote:

> Hi,
>
> I am rewriting the event handling mechanism of my app in Cocoa. It is in
> Carbon as of now. Is there a Cocoa equivant for
> InstallApplicationEventHandler(), so that I can listen to event at the
> application level? As I understand, as per the NSResponder chain hierarchy,
> I can get the events on the NSWindow. However, I would want to do some
> special processing in my app in the no-window state as well. Some events
> like application activation/deactivation are dispatched to the application
> delegate. However, events like keyDown are not handled by the NSApplication
> class or its delegate.
> In the absence of a true Cocoa equivalent for application or system level
> events, one of the ways that comes to mind is to override the "sendEvent"
> method of the NSApplication class and prior to calling sendEvent on
> "super",
> do some preprocessing, and then decide whether to propagate that further.
> The sendEvent method would look like this.
>
> - (void)sendEvent:(NSEvent *)anEvent
> {
>    bool propagate = [self preProcessEvent:anEvent];
>
>    if(propagate)
>        [super sendEvent:anEvent];
>
>    [self postProcessEvent:anEvent];
> }
>
> Do you think this approach is okay? What do I stand to loose with this
> approach? Do you foresee any problems? Is there a better way to do this?
>
> Any pointers and/or suggestions would be helpful and would be appreciated.
>
> Thanks,
> Vikram
>
> P.S. I am not sure if this has been asked earlier. I could not find it.
> Pardon me if this is a repeat question.
> _______________________________________________
>
> 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/tom.davie%40gmail.com
>
> This email sent to tom.da...@gmail.com
>
_______________________________________________

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