Fix binding of C-Space/C-@, from Micah Cowan.

pull/1/head
Nicholas Marriott 2010-06-05 15:51:53 +00:00
parent cc724f327a
commit b88ec14f0e
1 changed files with 20 additions and 21 deletions

View File

@ -149,29 +149,28 @@ key_string_lookup_string(const char *string)
key = (u_char) string[0]; key = (u_char) string[0];
if (key < 32 || key > 126) if (key < 32 || key > 126)
return (KEYC_NONE); return (KEYC_NONE);
} else {
/* Convert the standard control keys. */ /* Otherwise look the key up in the table. */
if (modifiers & KEYC_CTRL) { key = key_string_search_table(string);
if (key >= 97 && key <= 122) if (key == KEYC_NONE)
key -= 96; return (KEYC_NONE);
else if (key >= 64 && key <= 95) }
key -= 64;
else if (key == 32) /* Convert the standard control keys. */
key = 0; if (key < KEYC_BASE && (modifiers & KEYC_CTRL)) {
else if (key == 63) if (key >= 97 && key <= 122)
key = KEYC_BSPACE; key -= 96;
else else if (key >= 64 && key <= 95)
return (KEYC_NONE); key -= 64;
modifiers &= ~KEYC_CTRL; else if (key == 32)
} key = 0;
else if (key == 63)
return (key | modifiers); 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); return (key | modifiers);
} }