Skip to content

Commit

Permalink
* Source/NSInputManager.m: Add binding processing code for
Browse files Browse the repository at this point in the history
        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 <gna@advcsi.com>.
        * Source/NSInputManager.m: Fixed alt behaviors for return
        Patch by Paul Landers <paul.landers@testplant.com>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@38918 72102866-910b-0410-8b05-ffd578937521
  • Loading branch information
fredkiefer committed Aug 22, 2015
1 parent 486964c commit 49a39c9
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 4 deletions.
10 changes: 10 additions & 0 deletions ChangeLog
@@ -1,3 +1,13 @@
2015-08-23 Fred Kiefer <FredKiefer@gmx.de>

* 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 <gna@advcsi.com>.
* Source/NSInputManager.m: Fixed alt behaviors for return
Patch by Paul Landers <paul.landers@testplant.com>.

2015-08-21 Fred Kiefer <FredKiefer@gmx.de>

* Source/NSMatrix.m: Remove GC ifdefs.
Expand Down
2 changes: 2 additions & 0 deletions KeyBindings/DefaultKeyBindings.dict
@@ -1,4 +1,6 @@
{ /* -*-c-*- */
/* Auto-Completion key */
"Escape" = "complete:";

/* Function keys */
"UpArrow" = "moveUp:";
Expand Down
17 changes: 13 additions & 4 deletions Source/NSInputManager.m
Expand Up @@ -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 },
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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:
Expand Down

0 comments on commit 49a39c9

Please sign in to comment.