Better support for ESCAPE when used with allow arrows
This commit is contained in:
parent
3894f706ca
commit
39284514c1
|
@ -120,28 +120,29 @@ Uses
|
||||||
|
|
||||||
Constructor TBBSIO.Create (Var Owner: Pointer);
|
Constructor TBBSIO.Create (Var Owner: Pointer);
|
||||||
Begin
|
Begin
|
||||||
Core := Owner;
|
Core := Owner;
|
||||||
FmtString := False;
|
FmtString := False;
|
||||||
FmtLen := 0;
|
FmtLen := 0;
|
||||||
FmtType := 0;
|
FmtType := 0;
|
||||||
InMacro := False;
|
InMacro := False;
|
||||||
InMacroPos := 0;
|
InMacroPos := 0;
|
||||||
InMacroStr := '';
|
InMacroStr := '';
|
||||||
AllowPause := False;
|
AllowPause := False;
|
||||||
AllowMCI := True;
|
AllowMCI := True;
|
||||||
LocalInput := False;
|
LocalInput := False;
|
||||||
AllowArrow := False;
|
AllowArrow := False;
|
||||||
IsArrow := False;
|
IsArrow := False;
|
||||||
UseInField := True;
|
UseInField := True;
|
||||||
UseInLimit := False;
|
UseInLimit := False;
|
||||||
UseInSize := False;
|
UseInSize := False;
|
||||||
InLimit := 0;
|
InLimit := 0;
|
||||||
InSize := 0;
|
InSize := 0;
|
||||||
NoFile := False;
|
NoFile := False;
|
||||||
Graphics := 1;
|
Graphics := 1;
|
||||||
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,20 +1253,21 @@ 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
|
|
||||||
'A' : Result := #72; { ansi up }
|
Case TBBSCore(Core).Client.ReadChar of
|
||||||
'B' : Result := #80; { ansi down }
|
'A' : Result := #72; { ansi up }
|
||||||
'C' : Result := #77; { ansi right }
|
'B' : Result := #80; { ansi down }
|
||||||
'D' : Result := #75; { ansi left }
|
'C' : Result := #77; { ansi right }
|
||||||
'H' : Result := #71; { ansi home }
|
'D' : Result := #75; { ansi left }
|
||||||
'K' : Result := #79; { ansi end }
|
'H' : Result := #71; { ansi home }
|
||||||
'V' : Result := #73; { ansi pageup }
|
'K' : Result := #79; { ansi end }
|
||||||
'U' : Result := #81; { ansi pgdown }
|
'V' : Result := #73; { ansi pageup }
|
||||||
End;
|
'U' : Result := #81; { ansi pgdown }
|
||||||
|
End;
|
||||||
End Else
|
End Else
|
||||||
IsArrow := False;
|
IsArrow := False;
|
||||||
End;
|
End;
|
||||||
|
|
Loading…
Reference in New Issue