From 49a39c958f5a2425a9a8e562d9ebf207a9397a05 Mon Sep 17 00:00:00 2001 From: fredkiefer Date: Sat, 22 Aug 2015 22:09:01 +0000 Subject: [PATCH] * Source/NSInputManager.m: Add binding processing code for escape key and make list of bindings easier to extend. * KeyBindings/DefaultKeyBindings.dict: Add default escape key binding to complete: method. Patch by Marcian Lytwyn . * Source/NSInputManager.m: Fixed alt behaviors for return Patch by Paul Landers . git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@38918 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 10 ++++++++++ KeyBindings/DefaultKeyBindings.dict | 2 ++ Source/NSInputManager.m | 17 +++++++++++++---- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 895fa5e62b..460ac46172 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2015-08-23 Fred Kiefer + + * Source/NSInputManager.m: Add binding processing code for escape + key and make list of bindings easier to extend. + * KeyBindings/DefaultKeyBindings.dict: Add default escape key + binding to complete: method. + Patch by Marcian Lytwyn . + * Source/NSInputManager.m: Fixed alt behaviors for return + Patch by Paul Landers . + 2015-08-21 Fred Kiefer * Source/NSMatrix.m: Remove GC ifdefs. diff --git a/KeyBindings/DefaultKeyBindings.dict b/KeyBindings/DefaultKeyBindings.dict index c0c76568de..4fc75d6568 100644 --- a/KeyBindings/DefaultKeyBindings.dict +++ b/KeyBindings/DefaultKeyBindings.dict @@ -1,4 +1,6 @@ { /* -*-c-*- */ + /* Auto-Completion key */ + "Escape" = "complete:"; /* Function keys */ "UpArrow" = "moveUp:"; diff --git a/Source/NSInputManager.m b/Source/NSInputManager.m index d5a7cf9b1a..a79fb69593 100644 --- a/Source/NSInputManager.m +++ b/Source/NSInputManager.m @@ -39,14 +39,13 @@ /* A table mapping character names to characters, used to interpret the character names found in KeyBindings dictionaries. */ -#define CHARACTER_TABLE_SIZE 78 static struct { NSString *name; unichar character; } -character_table[CHARACTER_TABLE_SIZE] = +character_table[] = { /* Function keys. */ { @"UpArrow", NSUpArrowFunctionKey }, @@ -129,9 +128,12 @@ { @"Tab", NSTabCharacter }, { @"Enter", NSEnterCharacter }, { @"FormFeed", NSFormFeedCharacter }, - { @"CarriageReturn", NSCarriageReturnCharacter } + { @"CarriageReturn", NSCarriageReturnCharacter }, + { @"Escape", 0x1b } }; +static int CHARACTER_TABLE_SIZE = (sizeof(character_table) / sizeof(character_table[0])); + static NSInputManager *currentInputManager = nil; @implementation NSInputManager @@ -674,7 +676,14 @@ - (void) handleKeyboardEvents: (NSArray *)eventArray case NSEnterCharacter: case NSFormFeedCharacter: case NSCarriageReturnCharacter: - [self doCommandBySelector: @selector (insertNewline:)]; + if (flags & NSAlternateKeyMask) + { + [self doCommandBySelector: @selector (insertNewlineIgnoringFieldEditor:)]; + } + else + { + [self doCommandBySelector: @selector (insertNewline:)]; + } break; case NSHelpFunctionKey: