Browse Source

* fixed alt-<key>

peter 25 years ago
parent
commit
7e19f03f6f
1 changed files with 20 additions and 17 deletions
  1. 20 17
      rtl/win32/crt.pp

+ 20 - 17
rtl/win32/crt.pp

@@ -149,17 +149,16 @@ end; { proc. TurnMouseOff }
 
 
 
 
 function GetScreenHeight : longint;
 function GetScreenHeight : longint;
-var ConsoleInfo: TConsoleScreenBufferinfo;
-    res : longint;
+var
+  ConsoleInfo: TConsoleScreenBufferinfo;
 begin
 begin
   if not GetConsoleScreenBufferInfo(OutHandle, ConsoleInfo) then
   if not GetConsoleScreenBufferInfo(OutHandle, ConsoleInfo) then
     begin
     begin
-      res:=GetLastError;
-      Result:=25;
 {$ifdef SYSTEMDEBUG}
 {$ifdef SYSTEMDEBUG}
-      Writeln(stderr,'GetScreenHeight failed GetLastError returns ',res);
+      Writeln(stderr,'GetScreenHeight failed GetLastError returns ',GetLastError);
       Halt(1);
       Halt(1);
 {$endif SYSTEMDEBUG}
 {$endif SYSTEMDEBUG}
+      Result:=25;
     end
     end
   else
   else
     Result := ConsoleInfo.dwSize.Y;
     Result := ConsoleInfo.dwSize.Y;
@@ -167,17 +166,16 @@ end; { func. GetScreenHeight }
 
 
 
 
 function GetScreenWidth : longint;
 function GetScreenWidth : longint;
-var ConsoleInfo: TConsoleScreenBufferInfo;
-    res : longint;
+var
+  ConsoleInfo: TConsoleScreenBufferInfo;
 begin
 begin
-  if not GetConsoleScreenBufferInfo(OutHandle, ConsoleInfo)then
+  if not GetConsoleScreenBufferInfo(OutHandle, ConsoleInfo) then
     begin
     begin
-      res:=GetLastError;
-      Result:=80;
 {$ifdef SYSTEMDEBUG}
 {$ifdef SYSTEMDEBUG}
-      Writeln(stderr,'GetScreenWidth failed GetLastError returns ',res);
+      Writeln(stderr,'GetScreenWidth failed GetLastError returns ',GetLastError);
       Halt(1);
       Halt(1);
 {$endif SYSTEMDEBUG}
 {$endif SYSTEMDEBUG}
+      Result:=80;
     end
     end
   else
   else
     Result := ConsoleInfo.dwSize.X;
     Result := ConsoleInfo.dwSize.X;
@@ -185,7 +183,8 @@ end; { func. GetScreenWidth }
 
 
 
 
 procedure SetScreenCursor(x,y : longint);
 procedure SetScreenCursor(x,y : longint);
-var CurInfo: TCoord;
+var
+  CurInfo: TCoord;
 begin
 begin
   FillChar(Curinfo, SizeOf(Curinfo), 0);
   FillChar(Curinfo, SizeOf(Curinfo), 0);
   CurInfo.X := X - 1;
   CurInfo.X := X - 1;
@@ -574,11 +573,12 @@ begin
                 else begin
                 else begin
             KeyPressed := TRUE;
             KeyPressed := TRUE;
 
 
-            if ord(buf.KeyEvent.AsciiChar) = 0 then
+            if (ord(buf.KeyEvent.AsciiChar) = 0) or
+               (buf.keyevent.dwControlKeyState=2) then
              begin
              begin
                SpecialKey := TRUE;
                SpecialKey := TRUE;
-                          ScanCode := Chr(RemapScanCode(Buf.KeyEvent.wVirtualScanCode, Buf.KeyEvent.dwControlKeyState,
-                                                        Buf.KeyEvent.wVirtualKeyCode));
+               ScanCode := Chr(RemapScanCode(Buf.KeyEvent.wVirtualScanCode, Buf.KeyEvent.dwControlKeyState,
+                                             Buf.KeyEvent.wVirtualKeyCode));
              end
              end
             else
             else
              begin
              begin
@@ -1007,7 +1007,10 @@ end. { unit Crt }
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:33:56  michael
+  Revision 1.3  2000-09-10 20:17:56  peter
+    * fixed alt-<key>
+
+  Revision 1.2  2000/07/13 11:33:56  michael
   + removed logs
   + removed logs
- 
+
 }
 }