Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

NSEvent: test for only one modfierkey

Ok, I understand how to determine from an NSEvent if a modifierkey is pressed :

if ([theEvent modifierFlags] & NSAlternateKeyMask) {
        // The Option/Alt key was pressed
    }

But this also captures the optionkey and another modifierkey at the same time, eg Option+Shift, or any combination with the optionkey.

How do I test for only the optionkey and nothing else?

like image 315
koen Avatar asked Feb 04 '12 14:02

koen


1 Answers

Like this:

const NSUInteger kNotAlt = NSAlphaShiftKeyMask | NSShiftKeyMask | NSControlKeyMask | NSCommandKeyMask;
NSUInteger modFlags = [theEvent modifierFlags];
if (((modFlags & NSAlternateKeyMask) != 0) &&
    ((modFlags & kNotAlt) == 0))
{
    // Only alt was pressed
}
like image 52
user1118321 Avatar answered Oct 01 '22 18:10

user1118321