From 5a054cd1b353d8805bf4351905e06be51e5e9077 Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Fri, 14 Dec 2012 23:36:59 +0000 Subject: =?UTF-8?q?Mac=20OS:=20fixed=20[FLView=20keyDown:]=20for=20OS=20?= =?UTF-8?q?=E2=89=A4=2010.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9754 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/Fl_cocoa.mm | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm index b085cf760..9762d8420 100644 --- a/src/Fl_cocoa.mm +++ b/src/Fl_cocoa.mm @@ -1745,12 +1745,20 @@ static void q_set_window_title(NSWindow *nsw, const char * name, const char *mi // First let's process the raw key press cocoaKeyboardHandler(theEvent); - - NSText *edit = [[theEvent window] fieldEditor:YES forObject:nil]; - in_key_event = YES; - [edit interpretKeyEvents:[NSArray arrayWithObject:theEvent]]; - in_key_event = NO; - + + if (fl_mac_os_version < 100600 && (Fl::e_keysym == FL_BackSpace || + Fl::e_keysym == FL_Enter || Fl::e_keysym == FL_Escape || Fl::e_keysym == FL_Tab) ) { + // interpretKeyEvents doesn't output anything for these 4 keys under 10.5 or below + NSString *s = [theEvent characters]; + if ([s length] >= 1) [FLView prepareEtext:s]; + Fl::handle(FL_KEYBOARD, window); + } + else { + NSText *edit = [[theEvent window] fieldEditor:YES forObject:nil]; + in_key_event = YES; + [edit interpretKeyEvents:[NSArray arrayWithObject:theEvent]]; + in_key_event = NO; + } fl_unlock_function(); } - (void)keyUp:(NSEvent *)theEvent { -- cgit v1.2.3