Alt-Enter was fouling up on Win95; added explicit handler
[u/mdw/putty] / window.c
index de431d6..47ca089 100644 (file)
--- a/window.c
+++ b/window.c
@@ -1758,10 +1758,10 @@ static int TranslateKey(UINT message, WPARAM wParam, LPARAM lParam, unsigned cha
     int  r, i, code;
     unsigned char * p = output;
 
-static WORD keys[3];
-static int compose_state = 0;
-static int compose_char = 0;
-static WPARAM compose_key = 0;
+    static WORD keys[3];
+    static int compose_state = 0;
+    static int compose_char = 0;
+    static WPARAM compose_key = 0;
 
     r = GetKeyboardState(keystate);
     if (!r) memset(keystate, 0, sizeof(keystate));
@@ -2072,6 +2072,16 @@ static WPARAM compose_key = 0;
                return p - output;
            }
        }
+
+       /*
+        * Finally, deal with Return ourselves. (Win95 seems to
+        * foul it up when Alt is pressed, for some reason.)
+        */
+       if (wParam == VK_RETURN)       /* Return */
+       {
+           *p++ = 0x0D;
+           return p-output;
+       }
     }
 
     /* Okay we've done everything interesting; let windows deal with