|
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.
|