Fix AltGr handling on Windows platform.
diff --git a/src/tty/windows.rs b/src/tty/windows.rs index ac7ddd5..cd483e7 100644 --- a/src/tty/windows.rs +++ b/src/tty/windows.rs
@@ -136,11 +136,11 @@ // key_event.wRepeatCount seems to be always set to 1 (maybe because we only // read one character at a time) - // let alt_gr = key_event.dwControlKeyState & (LEFT_CTRL_PRESSED | - // RIGHT_ALT_PRESSED) != 0; + let alt_gr = key_event.dwControlKeyState & (LEFT_CTRL_PRESSED | RIGHT_ALT_PRESSED) + == (LEFT_CTRL_PRESSED | RIGHT_ALT_PRESSED); let alt = key_event.dwControlKeyState & (LEFT_ALT_PRESSED | RIGHT_ALT_PRESSED) != 0; let ctrl = key_event.dwControlKeyState & (LEFT_CTRL_PRESSED | RIGHT_CTRL_PRESSED) != 0; - let meta = alt; + let meta = alt && !alt_gr; let utf16 = unsafe { *key_event.uChar.UnicodeChar() }; if utf16 == 0 {