On Jan 17, 2014, at 13:34:08, Andy Lee <ag...@mac.com> wrote:

> I think the key event is getting stolen by the first responder of whatever 
> your key window is at the time.  I did a quick test and found the menu item 
> did not get invoked when a text view was selected but *did* get invoked when 
> I removed the text view.
> 
> I suspect a more precise technical answer lies in the docs on keyboard event 
> handling.  See "Cocoa Event Handling Guide" => "The Path of Key Events", in 
> particular the part about key equivalents:
> 
> <https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/EventOverview/EventArchitecture/EventArchitecture.html#//apple_ref/doc/uid/10000060i-CH3-SW10>
> 
> A workaround would be to subclass NSApplication and override keyDown: to 
> detect Shift-Delete.  Offhand, I'd think you could do something like

We already have a keyDown handler for the focused view, so it would be easy to 
catch it here and do the right thing. However, the menu is only alive when a 
certain tool is active, and I'd rather not muddy up all key event handling for 
this one case. We also already have install a local monitor in the app with 
addLocalMonitorForEventsMatchingMask, which handles other bugs in the Cocoa 
menu key handling, so our key events are already muddied up.

Luckily, our non-menu-key handling code was written long before we added this 
key equiv to the menu item, so it falls back to that code. It's still wrong 
that Apple menus can't handle 100% of the keys that can be set in the menu 
items. They need to seriously work on Cocoa menu item key equivs and glyph 
handling and get it back on par with the features and Carbon menus offered.

--
Steve Mills
office: 952-818-3871
home: 952-401-6255



_______________________________________________

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to