Better detection of AltGr on Windows

Try to properly detect the fake CtrlL+AltR sequence Windows sends
when pressing AltGr. This allows us to send more accurate key
events over to the server.
diff --git a/vncviewer/Viewport.h b/vncviewer/Viewport.h
index a4b7d8b..3895fc7 100644
--- a/vncviewer/Viewport.h
+++ b/vncviewer/Viewport.h
@@ -76,6 +76,10 @@
 
   static int handleSystemEvent(void *event, void *data);
 
+#ifdef WIN32
+  static void handleAltGrTimeout(void *data);
+#endif
+
   void initContextMenu();
   void popupContextMenu();
 
@@ -94,6 +98,11 @@
   typedef std::map<int, rdr::U32> DownMap;
   DownMap downKeySym;
 
+#ifdef WIN32
+  bool altGrArmed;
+  unsigned int altGrCtrlTime;
+#endif
+
   rdr::U32 menuKeySym;
   int menuKeyCode, menuKeyFLTK;
   Fl_Menu_Button *contextMenu;