Re: Programmatically determining key equivalents with Shift key
Re: Programmatically determining key equivalents with Shift key
- Subject: Re: Programmatically determining key equivalents with Shift key
- From: John Stiles <email@hidden>
- Date: Wed, 19 Dec 2007 16:26:02 -0800
In case anyone's interested, I've found that the docs for
setKeyEquivalentModifierMask seem to directly contradict its actual
behavior in practice. I've filed a radar on this: rdar://5656732
In a nutshell, there are two contradictions:
- Although the docs state that "NSShiftKeyMask is relevant only for
function keys," it appears to be honored in all cases in both Tiger and
Leopard (which is a good thing!)
- The docs state that "you should always set NSCommandKeyMask in mask,"
but this appears to be just a guideline for good practice—the API itself
works fine regardless of whether you enable the command key mask or not.
For instance, if you were implementing iTunes, you could set up the
"Play" menu option (triggered via the Space key) using this code:
[menuItem setKeyEquivalent:@" "];
[menuItem setKeyEquivalentModifierMask:0];
John Stiles wrote:
Actually, I've just heard that setKeyEquivalentModifierMask: with
NSShiftKeyMask works in this case, even though it is documented not to
work. (Haven't tested it myself yet.)
Peculiar!
John Stiles wrote:
I have an NSMenuItem and I want to programmatically set its hotkey
to, for instance, command-shift-1. I'm apparently supposed to pass
"!" to setKeyEquivalent—on an American keyboard, at least. On a
French keyboard I'm sure it's not quite the same. So how do I go from
"shift+1" to punctuation like "!" while preserving the keyboard layout?
_______________________________________________
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
_______________________________________________
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