Better support for ESCAPE when used with allow arrows

This commit is contained in:
mysticbbs 2012-09-24 02:37:40 -04:00
parent 3894f706ca
commit 39284514c1
1 changed files with 39 additions and 37 deletions

View File

@ -142,6 +142,7 @@ Begin
PausePtr := 1; PausePtr := 1;
LastMCIValue := ''; LastMCIValue := '';
InputPos := 0; InputPos := 0;
GetKeyCallBack := NIL;
FillChar(OutBuffer, SizeOf(OutBuffer), 0); FillChar(OutBuffer, SizeOf(OutBuffer), 0);
@ -1188,7 +1189,7 @@ Begin
Handles[0] := Input.ConIn; Handles[0] := Input.ConIn;
If Not TBBSCore(Core).LocalMode Then Begin If Not TBBSCore(Core).LocalMode Then Begin
If TBBSCore(Core).Client.DataWaiting Then If TBBSCore(Core).Client.FInBufPos < TBBSCore(Core).Client.FInBufEnd Then
InType := 2 InType := 2
Else Begin Else Begin
Handles[1] := SocketEvent; Handles[1] := SocketEvent;
@ -1252,10 +1253,11 @@ Begin
#19 : Result := #75; { left } #19 : Result := #75; { left }
#24 : Result := #80; { down } #24 : Result := #80; { down }
#27 : Begin #27 : Begin
If Not TBBSCore(Core).Client.DataWaiting Then WaitMS(25); If Not TBBSCore(Core).Client.DataWaiting Then WaitMS(50);
If Not TBBSCore(Core).Client.DataWaiting Then WaitMS(25);
If TBBSCore(Core).Client.DataWaiting Then Begin If TBBSCore(Core).Client.PeekChar(0) = '[' Then Begin
If TBBSCore(Core).Client.ReadChar = '[' Then TBBSCore(Core).Client.ReadChar;
Case TBBSCore(Core).Client.ReadChar of Case TBBSCore(Core).Client.ReadChar of
'A' : Result := #72; { ansi up } 'A' : Result := #72; { ansi up }
'B' : Result := #80; { ansi down } 'B' : Result := #80; { ansi down }