summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2023-02-06 17:46:37 +0000
committerBram Moolenaar <Bram@vim.org>2023-02-06 17:46:37 +0000
commit0261e3978e3064176f57008d4ce6de18cb166b69 (patch)
tree9726b7e69f907fc1cd07c173bbfcc95f177cdb86
parent546933f4974d0e0966a4d4e78a6a46b7532d71c6 (diff)
downloadvim-git-0261e3978e3064176f57008d4ce6de18cb166b69.tar.gz
patch 9.0.1287: with the Kitty key protocl Esc with NumLock cannot be mappedv9.0.1287
Problem: With the Kitty key protocl Esc with NumLock cannot be mapped. Solution: Also use K_ESC when there is a modifier. (closes #11811)
-rw-r--r--src/term.c5
-rw-r--r--src/version.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/src/term.c b/src/term.c
index d7cece383..c90efe530 100644
--- a/src/term.c
+++ b/src/term.c
@@ -5349,6 +5349,11 @@ handle_key_with_modifier(
if ((modifiers & MOD_MASK_SHIFT) && key >= 'a' && key <= 'z')
key += 'A' - 'a';
+ // Putting Esc in the buffer creates ambiguity, it can be the start of an
+ // escape sequence. Use K_ESC to avoid that.
+ if (key == ESC)
+ key = K_ESC;
+
return put_key_modifiers_in_typebuf(key, modifiers,
csi_len, offset, buf, bufsize, buflen);
}
diff --git a/src/version.c b/src/version.c
index 439698b32..9d5cb0fba 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1287,
+/**/
1286,
/**/
1285,