Re: Why does menu item with shift-delete not work?
Re: Why does menu item with shift-delete not work?
- Subject: Re: Why does menu item with shift-delete not work?
- From: Steve Mills <email@hidden>
- Date: Fri, 17 Jan 2014 15:48:43 -0600
On Jan 17, 2014, at 13:34:08, Andy Lee <email@hidden> 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 (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