diff options
Diffstat (limited to 'src/os_win32.c')
-rw-r--r-- | src/os_win32.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/os_win32.c b/src/os_win32.c index 22a2abc8f..d356c7ed6 100644 --- a/src/os_win32.c +++ b/src/os_win32.c @@ -1816,9 +1816,18 @@ mch_inchar( typeahead[typeaheadlen] = c; if (ch2 != NUL) { - typeahead[typeaheadlen + n] = 3; - typeahead[typeaheadlen + n + 1] = (char_u)ch2; - n += 2; + if (c == K_NUL && (ch2 & 0xff00) != 0) + { + /* fAnsiKey with modifier keys */ + typeahead[typeaheadlen + n] = (char_u)ch2; + n++; + } + else + { + typeahead[typeaheadlen + n] = 3; + typeahead[typeaheadlen + n + 1] = (char_u)ch2; + n += 2; + } } /* Use the ALT key to set the 8th bit of the character |