• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Cocoa equivalent for 'InstallApplicationEventHandler'
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Cocoa equivalent for 'InstallApplicationEventHandler'


  • Subject: Re: Cocoa equivalent for 'InstallApplicationEventHandler'
  • From: Tom Davie <email@hidden>
  • Date: Sat, 20 Feb 2010 11:53:32 +0000

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 <email@hidden> 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 (email@hidden)
>
> 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:
>
> This email sent to email@hidden
>
_______________________________________________

Cocoa-dev mailing list (email@hidden)

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:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Cocoa equivalent for 'InstallApplicationEventHandler'
      • From: Uli Kusterer <email@hidden>
References: 
 >Cocoa equivalent for 'InstallApplicationEventHandler' (From: Vikram Sethi <email@hidden>)

  • Prev by Date: Cocoa equivalent for 'InstallApplicationEventHandler'
  • Next by Date: Re: Cocoa equivalent for 'InstallApplicationEventHandler'
  • Previous by thread: Cocoa equivalent for 'InstallApplicationEventHandler'
  • Next by thread: Re: Cocoa equivalent for 'InstallApplicationEventHandler'
  • Index(es):
    • Date
    • Thread