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 {