mirror of
https://github.com/tmux/tmux.git
synced 2024-12-24 10:08:48 +00:00
Map control keys back to an ASCII uppercase letter when passing them on
as extended keys.
This commit is contained in:
parent
e8d6d53a7b
commit
2e59ff2db9
@ -418,7 +418,7 @@ int
|
|||||||
input_key(struct screen *s, struct bufferevent *bev, key_code key)
|
input_key(struct screen *s, struct bufferevent *bev, key_code key)
|
||||||
{
|
{
|
||||||
struct input_key_entry *ike;
|
struct input_key_entry *ike;
|
||||||
key_code justkey, newkey, outkey;
|
key_code justkey, newkey, outkey, modifiers;
|
||||||
struct utf8_data ud;
|
struct utf8_data ud;
|
||||||
char tmp[64], modifier;
|
char tmp[64], modifier;
|
||||||
|
|
||||||
@ -519,7 +519,12 @@ input_key(struct screen *s, struct bufferevent *bev, key_code key)
|
|||||||
return (input_key(s, bev, key & ~KEYC_CTRL));
|
return (input_key(s, bev, key & ~KEYC_CTRL));
|
||||||
}
|
}
|
||||||
outkey = (key & KEYC_MASK_KEY);
|
outkey = (key & KEYC_MASK_KEY);
|
||||||
switch (key & KEYC_MASK_MODIFIERS) {
|
modifiers = (key & KEYC_MASK_MODIFIERS);
|
||||||
|
if (outkey < ' ') {
|
||||||
|
outkey = 64 + outkey;
|
||||||
|
modifiers |= KEYC_CTRL;
|
||||||
|
}
|
||||||
|
switch (modifiers) {
|
||||||
case KEYC_SHIFT:
|
case KEYC_SHIFT:
|
||||||
modifier = '2';
|
modifier = '2';
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user