patch 8.2.1015: popup filter gets key with modifier prepended
Problem: Popup filter gets key with modifier prepended when using
modifyOtherKeys.
Solution: Remove the shift modifier when it is included in the key, also
when the Alt or Meta modifier is used.
diff --git a/src/misc2.c b/src/misc2.c
index 41b9f71..649cb65 100644
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -2929,9 +2929,11 @@
if ((modifiers & MOD_MASK_SHIFT) && ASCII_ISALPHA(key))
{
key = TOUPPER_ASC(key);
- // With <C-S-a> and <A-S-a> we keep the shift modifier.
- // With <S-a> and <S-A> we don't keep the shift modifier.
- if (simplify || modifiers == MOD_MASK_SHIFT)
+ // With <C-S-a> we keep the shift modifier.
+ // With <S-a>, <A-S-a> and <S-A> we don't keep the shift modifier.
+ if (simplify || modifiers == MOD_MASK_SHIFT
+ || modifiers == (MOD_MASK_SHIFT | MOD_MASK_ALT)
+ || modifiers == (MOD_MASK_SHIFT | MOD_MASK_META))
modifiers &= ~MOD_MASK_SHIFT;
}