mirror of
https://github.com/tmux/tmux.git
synced 2025-01-14 20:58:53 +00:00
Allow C-Space to work correctly once again, and forbid nonsensical combinations such as C-Enter or C-Escape.
This commit is contained in:
parent
e334deb872
commit
d27956f160
43
key-string.c
43
key-string.c
@ -1,4 +1,4 @@
|
||||
/* $Id: key-string.c,v 1.32 2010-05-14 14:21:07 tcunha Exp $ */
|
||||
/* $Id: key-string.c,v 1.33 2010-06-05 06:27:19 micahcowan Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||
@ -149,29 +149,28 @@ key_string_lookup_string(const char *string)
|
||||
key = (u_char) string[0];
|
||||
if (key < 32 || key > 126)
|
||||
return (KEYC_NONE);
|
||||
|
||||
/* Convert the standard control keys. */
|
||||
if (modifiers & KEYC_CTRL) {
|
||||
if (key >= 97 && key <= 122)
|
||||
key -= 96;
|
||||
else if (key >= 64 && key <= 95)
|
||||
key -= 64;
|
||||
else if (key == 32)
|
||||
key = 0;
|
||||
else if (key == 63)
|
||||
key = KEYC_BSPACE;
|
||||
else
|
||||
return (KEYC_NONE);
|
||||
modifiers &= ~KEYC_CTRL;
|
||||
}
|
||||
|
||||
return (key | modifiers);
|
||||
} else {
|
||||
/* Otherwise look the key up in the table. */
|
||||
key = key_string_search_table(string);
|
||||
if (key == KEYC_NONE)
|
||||
return (KEYC_NONE);
|
||||
}
|
||||
|
||||
/* Convert the standard control keys. */
|
||||
if (key < KEYC_BASE && (modifiers & KEYC_CTRL)) {
|
||||
if (key >= 97 && key <= 122)
|
||||
key -= 96;
|
||||
else if (key >= 64 && key <= 95)
|
||||
key -= 64;
|
||||
else if (key == 32)
|
||||
key = 0;
|
||||
else if (key == 63)
|
||||
key = KEYC_BSPACE;
|
||||
else
|
||||
return (KEYC_NONE);
|
||||
modifiers &= ~KEYC_CTRL;
|
||||
}
|
||||
|
||||
/* Otherwise look the key up in the table. */
|
||||
key = key_string_search_table(string);
|
||||
if (key == KEYC_NONE)
|
||||
return (KEYC_NONE);
|
||||
return (key | modifiers);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user