From: <de...@us...> - 2009-09-25 23:33:32
|
Revision: 1838 http://iterm.svn.sourceforge.net/iterm/?rev=1838&view=rev Author: delx Date: 2009-09-25 23:33:22 +0000 (Fri, 25 Sep 2009) Log Message: ----------- Fixed option key Meta/Esc under Snow Leopard (#2849154) Modified Paths: -------------- trunk/PTYTextView.m Modified: trunk/PTYTextView.m =================================================================== --- trunk/PTYTextView.m 2009-09-23 23:15:41 UTC (rev 1837) +++ trunk/PTYTextView.m 2009-09-25 23:33:22 UTC (rev 1838) @@ -812,61 +812,36 @@ [self _drawCursor]; } -- (void)keyDown:(NSEvent *)event +- (void)keyDown:(NSEvent*)event { - NSInputManager *imana = [NSInputManager currentInputManager]; - BOOL IMEnable = [imana wantsToInterpretAllKeystrokes]; - id delegate = [self delegate]; + id delegate = [self delegate]; unsigned int modflag = [event modifierFlags]; - BOOL prev = [self hasMarkedText]; - + BOOL prev = [self hasMarkedText]; + #if DEBUG_METHOD_TRACE - NSLog(@"%s(%d):-[PTYTextView keyDown:%@]", - __FILE__, __LINE__, event ); + NSLog(@"%s(%d):-[PTYTextView keyDown:%@]", __FILE__, __LINE__, event ); #endif - + keyIsARepeat = [event isARepeat]; - - // Hide the cursor - [NSCursor setHiddenUntilMouseMoves: YES]; - - if ([delegate hasKeyMappingForEvent: event highPriority: YES]) + + // Hide the cursor + [NSCursor setHiddenUntilMouseMoves: YES]; + + if([delegate hasKeyMappingForEvent:event highPriority:YES] || + (modflag & NSNumericPadKeyMask) || + (modflag & NSFunctionKeyMask)) { [delegate keyDown:event]; return; } - - IM_INPUT_INSERT = NO; - if (IMEnable) { - [self interpretKeyEvents:[NSArray arrayWithObject:event]]; - - if (prev == NO && - IM_INPUT_INSERT == NO && - [self hasMarkedText] == NO) - { - [delegate keyDown:event]; - } - } - else { - // Check whether we have a custom mapping for this event or if numeric or function keys were pressed. - if ( prev == NO && - ([delegate hasKeyMappingForEvent: event highPriority: NO] || - (modflag & NSNumericPadKeyMask) || - (modflag & NSFunctionKeyMask))) - { - [delegate keyDown:event]; - } - else { - if([[self delegate] optionKey] == OPT_NORMAL) - { - [self interpretKeyEvents:[NSArray arrayWithObject:event]]; - } - - if (IM_INPUT_INSERT == NO) { - [delegate keyDown:event]; - } - } - } + + IM_INPUT_INSERT = NO; + if([[self delegate] optionKey] == OPT_NORMAL) { + [self interpretKeyEvents:[NSArray arrayWithObject:event]]; + } + if(!prev && !IM_INPUT_INSERT && ![self hasMarkedText]) { + [delegate keyDown:event]; + } } - (BOOL) keyIsARepeat This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |