Commit 917e5659 authored by Eli Zaretskii's avatar Eli Zaretskii
Browse files

dos_rawgetc: When international keyboard doesn't have

to be supported, recognize Alt-key combinations even if the Alt
key is no longer pressed.
parent 498e9ac3
...@@ -1646,7 +1646,19 @@ dos_rawgetc () ...@@ -1646,7 +1646,19 @@ dos_rawgetc ()
if (c == 0) if (c == 0)
{ {
if (code & Alt) /* We only look at the keyboard Ctrl/Shift/Alt keys when
Emacs is ready to read a key. Therefore, if they press
`Alt-x' when Emacs is busy, by the time we get to
`dos_get_modifiers', they might have already released the
Alt key, and Emacs gets just `x', which is BAD.
However, for keys with the `Map' property set, the ASCII
code returns zero iff Alt is pressed. So, when we DON'T
have to support international_keyboard, we don't have to
distinguish between the left and right Alt keys, and we
can set the META modifier for any keys with the `Map'
property if they return zero ASCII code (c = 0). */
if ( (code & Alt)
|| ( (code & 0xf000) == Map && !international_keyboard))
modifiers |= meta_modifier; modifiers |= meta_modifier;
if (code & Ctrl) if (code & Ctrl)
modifiers |= ctrl_modifier; modifiers |= ctrl_modifier;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment