diff options
Diffstat (limited to 'input-keys.c')
-rw-r--r-- | input-keys.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/input-keys.c b/input-keys.c index 9a00ebef..b0ea5104 100644 --- a/input-keys.c +++ b/input-keys.c @@ -156,7 +156,7 @@ input_key(struct window_pane *wp, key_code key, struct mouse_event *m) u_int i; size_t dlen; char *out; - key_code justkey; + key_code justkey, newkey; struct utf8_data ud; log_debug("writing key 0x%llx (%s) to %%%u", key, @@ -178,9 +178,10 @@ input_key(struct window_pane *wp, key_code key, struct mouse_event *m) /* Is this backspace? */ if ((key & KEYC_MASK_KEY) == KEYC_BSPACE) { - key = options_get_number(global_options, "backspace"); - if (key >= 0x7f) - key = '\177'; + newkey = options_get_number(global_options, "backspace"); + if (newkey >= 0x7f) + newkey = '\177'; + key = newkey|(key & KEYC_MASK_MOD); } /* |