aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/getchar.c
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2025-01-14 14:46:34 +0100
committerGitHub <noreply@github.com>2025-01-14 14:46:34 +0100
commit7eabc8899af8b2fed1472165b74f43965282974f (patch)
tree85332ffa92ee59b3aaa9ecfb2cbe27fee2429156 /src/nvim/getchar.c
parent25d8c3a5ad7e9c5668841e66540ebe34ceda73a7 (diff)
parent913e81c35f162c1e2647565397608f63f38d7043 (diff)
downloadrneovim-7eabc8899af8b2fed1472165b74f43965282974f.tar.gz
rneovim-7eabc8899af8b2fed1472165b74f43965282974f.tar.bz2
rneovim-7eabc8899af8b2fed1472165b74f43965282974f.zip
Merge pull request #31932 from bfredl/termtab
fix(getchar): do not simplify keycodes in terminal mode
Diffstat (limited to 'src/nvim/getchar.c')
-rw-r--r--src/nvim/getchar.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/nvim/getchar.c b/src/nvim/getchar.c
index 60aa1055c3..6cf4556a9f 100644
--- a/src/nvim/getchar.c
+++ b/src/nvim/getchar.c
@@ -1518,9 +1518,11 @@ int merge_modifiers(int c_arg, int *modifiers)
if (*modifiers & MOD_MASK_CTRL) {
if ((c >= '`' && c <= 0x7f) || (c >= '@' && c <= '_')) {
- c &= 0x1f;
- if (c == NUL) {
- c = K_ZERO;
+ if (!(State & MODE_TERMINAL) || !(c == 'I' || c == 'J' || c == 'M' || c == '[')) {
+ c &= 0x1f;
+ if (c == NUL) {
+ c = K_ZERO;
+ }
}
} else if (c == '6') {
// CTRL-6 is equivalent to CTRL-^