forked from aniani/vim
patch 8.2.0851: can't distinguish <M-a> from accented "a" in the GUI
Problem: Can't distinguish <M-a> from accented "a" in the GUI. Solution: Use another way to make mapping <C-bslash> work. (closes #6163)
This commit is contained in:
@@ -1593,16 +1593,26 @@ merge_modifyOtherKeys(int c_arg)
|
||||
if (mod_mask & MOD_MASK_CTRL)
|
||||
{
|
||||
if ((c >= '`' && c <= 0x7f) || (c >= '@' && c <= '_'))
|
||||
{
|
||||
c &= 0x1f;
|
||||
mod_mask &= ~MOD_MASK_CTRL;
|
||||
}
|
||||
else if (c == '6')
|
||||
{
|
||||
// CTRL-6 is equivalent to CTRL-^
|
||||
c = 0x1e;
|
||||
#ifdef FEAT_GUI_GTK
|
||||
// These mappings look arbitrary at the first glance, but in fact
|
||||
// resemble quite exactly the behaviour of the GTK+ 1.2 GUI on my
|
||||
// machine. The only difference is BS vs. DEL for CTRL-8 (makes
|
||||
// more sense and is consistent with usual terminal behaviour).
|
||||
else if (c == '2')
|
||||
c = NUL;
|
||||
else if (c >= '3' && c <= '7')
|
||||
c = c ^ 0x28;
|
||||
else if (c == '8')
|
||||
c = BS;
|
||||
else if (c == '?')
|
||||
c = DEL;
|
||||
#endif
|
||||
if (c != c_arg)
|
||||
mod_mask &= ~MOD_MASK_CTRL;
|
||||
}
|
||||
}
|
||||
if ((mod_mask & (MOD_MASK_META | MOD_MASK_ALT))
|
||||
&& c >= 0 && c <= 127)
|
||||
|
Reference in New Issue
Block a user