aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJames McCoy <jamessan@jamessan.com>2020-07-04 01:10:32 -0400
committerJames McCoy <jamessan@jamessan.com>2020-11-16 18:52:23 -0500
commita88bc4d95ebcddae7364c932b45b71ffc109b190 (patch)
treed5cec0abb92c40a7fad453be68152d45be820be1 /src
parente76f26d4e712a3a0ba30af90ecee70b85d1d400c (diff)
downloadrneovim-a88bc4d95ebcddae7364c932b45b71ffc109b190.tar.gz
rneovim-a88bc4d95ebcddae7364c932b45b71ffc109b190.tar.bz2
rneovim-a88bc4d95ebcddae7364c932b45b71ffc109b190.zip
keymap: Preserve S- modifier when C- is present
Closes #12037
Diffstat (limited to 'src')
-rw-r--r--src/nvim/keymap.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/nvim/keymap.c b/src/nvim/keymap.c
index b53a0d3e0b..517274a1d3 100644
--- a/src/nvim/keymap.c
+++ b/src/nvim/keymap.c
@@ -712,7 +712,8 @@ static int extract_modifiers(int key, int *modp)
{
int modifiers = *modp;
- if (!(modifiers & MOD_MASK_CMD)) { // Command-key is special
+ // Command-key and ctrl are special
+ if (!(modifiers & MOD_MASK_CMD) && !(modifiers & MOD_MASK_CTRL)) {
if ((modifiers & MOD_MASK_SHIFT) && ASCII_ISALPHA(key)) {
key = TOUPPER_ASC(key);
modifiers &= ~MOD_MASK_SHIFT;