好的,我了解如何从 NSEvent 确定是否按下了修饰键:
if ([theEvent modifierFlags] & NSAlternateKeyMask) {
// The Option/Alt key was pressed
}
但这也会同时捕获选项键和另一个修饰键,例如 Option+Shift,或与选项键的任意组合。
如何仅测试选项键而不测试其他内容?
最佳答案
像这样:
const NSUInteger kNotAlt = NSAlphaShiftKeyMask | NSShiftKeyMask | NSControlKeyMask | NSCommandKeyMask;
NSUInteger modFlags = [theEvent modifierFlags];
if (((modFlags & NSAlternateKeyMask) != 0) &&
((modFlags & kNotAlt) == 0))
{
// Only alt was pressed
}
关于cocoa - NSEvent:仅测试一个 modfierkey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9141556/