• 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: Catching app-wide (system-wide) modifier keypress
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Catching app-wide (system-wide) modifier keypress


  • Subject: Re: Catching app-wide (system-wide) modifier keypress
  • From: Michael Babin <email@hidden>
  • Date: Tue, 21 Aug 2012 07:12:42 -0500

On Aug 21, 2012, at 6:33 AM, Jean Suisse <email@hidden> wrote:

> In short :
> Is there a way to be notified of any change in the status of control keys (option, control, command, etc.) in a given NSWindowController, when another window of the app has the focus ?
>
> Long version (what I am trying to achieve) :
> The app I am currently working on is a multipurpose data acquisition software for scientists.
> To make it simple, let's say the app has two windows. One main window in which tasks are created and configured, one small HUD-window in which the user can see all created and scheduled tasks (pending execution).
>
> On the HUD window, tasks can be altered (started, stopped, removed, etc…) by means of appropriate buttons and pressing the option key while clicking on one of these buttons can modify the action (e.g. pressing option while clicking on the cancel will cancel all tasks instead of only the current task).
>
> Currently, I am using
>
> -(void)flagsChanged:(NSEvent *)theEvent
>
> in the NSWindowController to display the appropriate text/image on the button (so that the user knows which action will be executed upon hitting the button).
>
> The issue :
> When the main window of the application (or any other window but the HUD panel) has the focus, hitting the option key will not change the text on the panel button, since the panel will never get the event. However, clicking on one of the panel button will activate the panel and execute the right action (depending on the status of the option key). In this particular situation, the text/image displayed on the button does not match the executed action.
>
> Question:
> How can I  catch app-wide flagsChanged events to always have my buttons display the appropriate text / image ?

See the Cocoa Event Handling Guide, particularly the section on Monitoring Events:

https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/EventOverview/MonitoringEvents/MonitoringEvents.html

A local event monitor with the proper mask (NSFlagsChanged) should provide what you want.


_______________________________________________

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


References: 
 >Catching app-wide (system-wide) modifier keypress (From: Jean Suisse <email@hidden>)

  • Prev by Date: Re: Modal Dialog from sheet
  • Next by Date: Focus issues with NSTableView in NSPanel
  • Previous by thread: Catching app-wide (system-wide) modifier keypress
  • Next by thread: Focus issues with NSTableView in NSPanel
  • Index(es):
    • Date
    • Thread