MAINT-3907 FIXED Handle pressing of Alt/Shift/Control keys without any other key being pressed simultaneously.

meow-7.2.2
Mnikolenko ProductEngine 2014-04-08 12:37:41 +03:00
parent 45651fda5a
commit 1108a34d1d
1 changed files with 27 additions and 1 deletions

View File

@ -398,9 +398,35 @@ attributedStringInfo getSegments(NSAttributedString *str)
}
}
- (void)flagsChanged:(NSEvent *)theEvent {
- (void)flagsChanged:(NSEvent *)theEvent
{
mModifiers = [theEvent modifierFlags];
callModifier([theEvent modifierFlags]);
NSInteger mask = 0;
switch([theEvent keyCode])
{
case 56:
mask = NSShiftKeyMask;
break;
case 58:
mask = NSAlternateKeyMask;
break;
case 59:
mask = NSControlKeyMask;
break;
default:
return;
}
if (mModifiers & mask)
{
callKeyDown([theEvent keyCode], 0);
}
else
{
callKeyUp([theEvent keyCode], 0);
}
}
- (BOOL) acceptsFirstResponder