mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-29 11:40:36 +02:00
* merged freebsd from fixes
This commit is contained in:
parent
b8a008b31c
commit
a554625890
1275
api/freebsd/Makefile
Normal file
1275
api/freebsd/Makefile
Normal file
File diff suppressed because it is too large
Load Diff
44
api/freebsd/Makefile.fpc
Normal file
44
api/freebsd/Makefile.fpc
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
#
|
||||||
|
# Makefile.fpc for Free Pascal API (used by Free Vision) for freebsd
|
||||||
|
#
|
||||||
|
|
||||||
|
[defaults]
|
||||||
|
defaulttarget=freebsd
|
||||||
|
|
||||||
|
[targets]
|
||||||
|
units=terminfo $(APIOBJECTS)
|
||||||
|
|
||||||
|
[install]
|
||||||
|
unitsubdir=api
|
||||||
|
packagename=api
|
||||||
|
|
||||||
|
[libs]
|
||||||
|
libname=libfpapi.so
|
||||||
|
libversion=1.0
|
||||||
|
|
||||||
|
[dirs]
|
||||||
|
fpcdir=../..
|
||||||
|
targetdir=.
|
||||||
|
sourcesdir=$(INC)
|
||||||
|
incdir=$(INC) $(UNIXINC)
|
||||||
|
unitdir=$(UNIXINC)
|
||||||
|
|
||||||
|
[presettings]
|
||||||
|
INC=../inc
|
||||||
|
UNIXINC=../unix
|
||||||
|
|
||||||
|
# Override defaults
|
||||||
|
override PASEXT=.pas
|
||||||
|
|
||||||
|
include $(INC)/Makefile.api
|
||||||
|
|
||||||
|
[rules]
|
||||||
|
|
||||||
|
video$(PPUEXT): $(INC)/video.pas $(UNIXINC)/video.inc
|
||||||
|
|
||||||
|
keyboard$(PPUEXT): $(INC)/keyboard.pas $(UNIXINC)/keyboard.inc
|
||||||
|
|
||||||
|
mouse$(PPUEXT): $(INC)/mouse.pas $(UNIXINC)/mouse.inc
|
||||||
|
|
||||||
|
filectrl$(PPUEXT): $(INC)/filectrl.pas $(UNIXINC)/filectrl.inc
|
||||||
|
|
@ -116,6 +116,8 @@ export FPC OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FPC_VERSION
|
|||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
INC=../inc
|
INC=../inc
|
||||||
|
UNIXINC=../unix
|
||||||
|
|
||||||
|
|
||||||
# Override defaults
|
# Override defaults
|
||||||
override PASEXT=.pas
|
override PASEXT=.pas
|
||||||
@ -192,7 +194,7 @@ endif
|
|||||||
|
|
||||||
# Targets
|
# Targets
|
||||||
|
|
||||||
override UNITOBJECTS+=terminfo $(APIOBJECTS)
|
override UNITOBJECTS+=$(APIOBJECTS) terminfo
|
||||||
|
|
||||||
# Clean
|
# Clean
|
||||||
|
|
||||||
@ -209,7 +211,8 @@ ZIPTARGET=install
|
|||||||
# Directories
|
# Directories
|
||||||
|
|
||||||
vpath %$(PASEXT) $(INC)
|
vpath %$(PASEXT) $(INC)
|
||||||
override NEEDINCDIR=$(INC)
|
override NEEDUNITDIR=$(UNIXINC)
|
||||||
|
override NEEDINCDIR=$(INC) $(UNIXINC)
|
||||||
ifndef TARGETDIR
|
ifndef TARGETDIR
|
||||||
TARGETDIR=.
|
TARGETDIR=.
|
||||||
endif
|
endif
|
||||||
@ -1263,10 +1266,11 @@ endif
|
|||||||
# Users rules
|
# Users rules
|
||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
video$(PPUEXT): $(INC)/video.pas video.inc
|
|
||||||
|
|
||||||
keyboard$(PPUEXT): $(INC)/keyboard.pas keyboard.inc
|
keyboard$(PPUEXT): $(INC)/keyboard.pas $(UNIXINC)/keyboard.inc
|
||||||
|
|
||||||
mouse$(PPUEXT): $(INC)/mouse.pas mouse.inc
|
mouse$(PPUEXT): $(INC)/mouse.pas $(UNIXINC)/mouse.inc
|
||||||
|
|
||||||
filectrl$(PPUEXT): $(INC)/filectrl.pas filectrl.inc
|
filectrl$(PPUEXT): $(INC)/filectrl.pas $(UNIXINC)/filectrl.inc
|
||||||
|
|
||||||
|
video$(PPUEXT): $(INC)/video.pas $(UNIXINC)/video.inc
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
defaulttarget=linux
|
defaulttarget=linux
|
||||||
|
|
||||||
[targets]
|
[targets]
|
||||||
units=terminfo $(APIOBJECTS)
|
units= $(APIOBJECTS) terminfo
|
||||||
|
|
||||||
[install]
|
[install]
|
||||||
unitsubdir=api
|
unitsubdir=api
|
||||||
@ -20,22 +20,25 @@ libversion=1.0
|
|||||||
fpcdir=../..
|
fpcdir=../..
|
||||||
targetdir=.
|
targetdir=.
|
||||||
sourcesdir=$(INC)
|
sourcesdir=$(INC)
|
||||||
incdir=$(INC)
|
incdir=$(INC) $(UNIXINC)
|
||||||
|
unitdir=$(UNIXINC)
|
||||||
|
|
||||||
[presettings]
|
[presettings]
|
||||||
INC=../inc
|
INC=../inc
|
||||||
|
UNIXINC=../unix
|
||||||
|
|
||||||
|
|
||||||
# Override defaults
|
# Override defaults
|
||||||
override PASEXT=.pas
|
override PASEXT=.pas
|
||||||
|
|
||||||
include $(INC)/Makefile.api
|
include $(INC)/Makefile.api
|
||||||
|
|
||||||
|
|
||||||
[rules]
|
[rules]
|
||||||
video$(PPUEXT): $(INC)/video.pas video.inc
|
|
||||||
|
|
||||||
keyboard$(PPUEXT): $(INC)/keyboard.pas keyboard.inc
|
keyboard$(PPUEXT): $(INC)/keyboard.pas $(UNIXINC)/keyboard.inc
|
||||||
|
|
||||||
mouse$(PPUEXT): $(INC)/mouse.pas mouse.inc
|
mouse$(PPUEXT): $(INC)/mouse.pas $(UNIXINC)/mouse.inc
|
||||||
|
|
||||||
filectrl$(PPUEXT): $(INC)/filectrl.pas filectrl.inc
|
filectrl$(PPUEXT): $(INC)/filectrl.pas $(UNIXINC)/filectrl.inc
|
||||||
|
|
||||||
|
video$(PPUEXT): $(INC)/video.pas $(UNIXINC)/video.inc
|
||||||
|
@ -158,7 +158,25 @@ end;
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.2 2000-07-13 11:32:24 michael
|
Revision 1.2 2000-10-26 23:08:48 peter
|
||||||
+ removed logs
|
* merged freebsd from fixes
|
||||||
|
|
||||||
|
Revision 1.1.2.1 2000/10/25 12:23:20 marco
|
||||||
|
* Linux dir split up
|
||||||
|
|
||||||
|
Revision 1.1 2000/07/13 06:29:39 michael
|
||||||
|
+ Initial import
|
||||||
|
|
||||||
|
Revision 1.1 2000/01/06 01:20:31 peter
|
||||||
|
* moved out of packages/ back to topdir
|
||||||
|
|
||||||
|
Revision 1.1 1999/11/24 23:36:38 peter
|
||||||
|
* moved to packages dir
|
||||||
|
|
||||||
|
Revision 1.1 1998/12/04 12:48:30 peter
|
||||||
|
* moved some dirs
|
||||||
|
|
||||||
|
Revision 1.1 1998/10/26 11:31:47 peter
|
||||||
|
+ inital include files
|
||||||
|
|
||||||
}
|
}
|
@ -114,7 +114,13 @@ function Gpm_GetSnapshot(var Event: TGPMEvent): Longint; cdecl;external;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.1 2000-07-13 06:29:39 michael
|
Revision 1.2 2000-10-26 23:08:48 peter
|
||||||
|
* merged freebsd from fixes
|
||||||
|
|
||||||
|
Revision 1.1.2.1 2000/10/25 12:23:20 marco
|
||||||
|
* Linux dir split up
|
||||||
|
|
||||||
|
Revision 1.1 2000/07/13 06:29:39 michael
|
||||||
+ Initial import
|
+ Initial import
|
||||||
|
|
||||||
Revision 1.1 2000/01/06 01:20:31 peter
|
Revision 1.1 2000/01/06 01:20:31 peter
|
@ -10,6 +10,10 @@ uses
|
|||||||
|
|
||||||
var
|
var
|
||||||
OldIO : TermIos;
|
OldIO : TermIos;
|
||||||
|
{$ifdef logging}
|
||||||
|
f : text;
|
||||||
|
{$endif logging}
|
||||||
|
|
||||||
Procedure SetRawMode(b:boolean);
|
Procedure SetRawMode(b:boolean);
|
||||||
Var
|
Var
|
||||||
Tio : Termios;
|
Tio : Termios;
|
||||||
@ -230,11 +234,40 @@ Begin
|
|||||||
Keypressed := (KeySend<>KeyPut) or sysKeyPressed;
|
Keypressed := (KeySend<>KeyPut) or sysKeyPressed;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
|
|
||||||
|
{$ifdef DEBUG}
|
||||||
|
Function RawReadKey:char;
|
||||||
|
Var
|
||||||
|
ch : char;
|
||||||
|
OldState,
|
||||||
|
State : longint;
|
||||||
|
is_delay : boolean;
|
||||||
|
fdsin : fdSet;
|
||||||
|
Begin
|
||||||
|
{Check Buffer first}
|
||||||
|
if KeySend<>KeyPut then
|
||||||
|
begin
|
||||||
|
RawReadKey:=PopKey;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
{Wait for Key}
|
||||||
|
if not sysKeyPressed then
|
||||||
|
begin
|
||||||
|
FD_Zero (fdsin);
|
||||||
|
FD_Set (StdInputHandle,fdsin);
|
||||||
|
Select (StdInputHandle+1,@fdsin,nil,nil,nil);
|
||||||
|
end;
|
||||||
|
RawReadKey:=ttyRecvChar;
|
||||||
|
end;
|
||||||
|
{$endif DEBUG}
|
||||||
|
|
||||||
|
|
||||||
Function ReadKey:char;
|
Function ReadKey:char;
|
||||||
Var
|
Var
|
||||||
ch : char;
|
ch : char;
|
||||||
OldState,
|
OldState,
|
||||||
State : longint;
|
State : longint;
|
||||||
|
is_delay : boolean;
|
||||||
fdsin : fdSet;
|
fdsin : fdSet;
|
||||||
Begin
|
Begin
|
||||||
{Check Buffer first}
|
{Check Buffer first}
|
||||||
@ -257,11 +290,20 @@ Begin
|
|||||||
FD_Zero(fdsin);
|
FD_Zero(fdsin);
|
||||||
fd_Set(StdInputHandle,fdsin);
|
fd_Set(StdInputHandle,fdsin);
|
||||||
State:=1;
|
State:=1;
|
||||||
|
{$ifdef logging}
|
||||||
|
write(f,'Esc');
|
||||||
|
{$endif logging}
|
||||||
if InCnt=0 then
|
if InCnt=0 then
|
||||||
Select(StdInputHandle+1,@fdsin,nil,nil,10);
|
Select(StdInputHandle+1,@fdsin,nil,nil,10);
|
||||||
while (State<>0) and (sysKeyPressed) do
|
while (State<>0) and (sysKeyPressed) do
|
||||||
begin
|
begin
|
||||||
ch:=ttyRecvChar;
|
ch:=ttyRecvChar;
|
||||||
|
{$ifdef logging}
|
||||||
|
if ord(ch)>31 then
|
||||||
|
write(f,ch)
|
||||||
|
else
|
||||||
|
write(f,'#',ord(ch):2);
|
||||||
|
{$endif logging}
|
||||||
OldState:=State;
|
OldState:=State;
|
||||||
State:=0;
|
State:=0;
|
||||||
case OldState of
|
case OldState of
|
||||||
@ -277,8 +319,8 @@ Begin
|
|||||||
'O' : State:=6;
|
'O' : State:=6;
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
PushKey(ch);
|
|
||||||
PushKey(#27);
|
PushKey(#27);
|
||||||
|
PushKey(ch);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -294,15 +336,16 @@ Begin
|
|||||||
'K' : PushExt(79);
|
'K' : PushExt(79);
|
||||||
'1' : State:=4;
|
'1' : State:=4;
|
||||||
'2' : State:=5;
|
'2' : State:=5;
|
||||||
'3' : PushExt(83);
|
'3' : State:=12;{PushExt(83)}
|
||||||
'4' : PushExt(79);
|
'4' : PushExt(79);
|
||||||
'5' : PushExt(73);
|
'5' : PushExt(73);
|
||||||
'6' : PushExt(81);
|
'6' : PushExt(81);
|
||||||
|
'?' : State:=7;
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
PushKey(ch);
|
|
||||||
PushKey('[');
|
|
||||||
PushKey(#27);
|
PushKey(#27);
|
||||||
|
PushKey('[');
|
||||||
|
PushKey(ch);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
if ch in ['3'..'6'] then
|
if ch in ['3'..'6'] then
|
||||||
@ -315,30 +358,73 @@ Begin
|
|||||||
'C' : PushExt(61);
|
'C' : PushExt(61);
|
||||||
'D' : PushExt(62);
|
'D' : PushExt(62);
|
||||||
'E' : PushExt(63);
|
'E' : PushExt(63);
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
PushKey(#27);
|
||||||
|
PushKey('[');
|
||||||
|
PushKey('[');
|
||||||
|
PushKey(ch);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
4 : begin
|
end;
|
||||||
|
4 : begin {Esc[1}
|
||||||
case ch of
|
case ch of
|
||||||
'~' : PushExt(71);
|
'~' : PushExt(71);
|
||||||
'7' : PushExt(64);
|
'7' : PushExt(64);
|
||||||
'8' : PushExt(65);
|
'8' : PushExt(65);
|
||||||
'9' : PushExt(66);
|
'9' : PushExt(66);
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
PushKey(#27);
|
||||||
|
PushKey('[');
|
||||||
|
PushKey('1');
|
||||||
|
PushKey(ch);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
if (Ch<>'~') then
|
if (Ch<>'~') then
|
||||||
State:=255;
|
State:=255;
|
||||||
end;
|
end;
|
||||||
5 : begin
|
5 : begin {Esc[2}
|
||||||
case ch of
|
case ch of
|
||||||
'~' : PushExt(82);
|
'~' : PushExt(82);
|
||||||
'0' : pushExt(67);
|
'0' : pushExt(67);
|
||||||
'1' : PushExt(68);
|
'1' : PushExt(68);
|
||||||
'3' : PushExt(133);
|
'3' : PushExt($85){F11, but ShiftF1 also !!};
|
||||||
'4' : PushExt(134);
|
'4' : PushExt($86){F12, but Shift F2 also !!};
|
||||||
|
'5' : PushExt($56){ShiftF3};
|
||||||
|
'6' : PushExt($57){ShiftF4};
|
||||||
|
'8' : PushExt($58){ShiftF5};
|
||||||
|
'9' : PushExt($59){ShiftF6};
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
PushKey(#27);
|
||||||
|
PushKey('[');
|
||||||
|
PushKey('2');
|
||||||
|
PushKey(ch);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
if (Ch<>'~') then
|
if (Ch<>'~') then
|
||||||
State:=255;
|
State:=255;
|
||||||
end;
|
end;
|
||||||
6 : begin {Esc0 Function keys in vt100 mode PM }
|
12 : begin {Esc[3}
|
||||||
|
case ch of
|
||||||
|
'~' : PushExt(83);
|
||||||
|
'1' : PushExt($5A){ShiftF7};
|
||||||
|
'2' : PushExt($5B){ShiftF8};
|
||||||
|
'3' : PushExt($5C){ShiftF9};
|
||||||
|
'4' : PushExt($5D){ShiftF10};
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
PushKey(#27);
|
||||||
|
PushKey('[');
|
||||||
|
PushKey('3');
|
||||||
|
PushKey(ch);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
if (Ch<>'~') then
|
||||||
|
State:=255;
|
||||||
|
end;
|
||||||
|
6 : begin {EscO Function keys in vt100 mode PM }
|
||||||
case ch of
|
case ch of
|
||||||
'P' : {F1}PushExt(59);
|
'P' : {F1}PushExt(59);
|
||||||
'Q' : {F2}PushExt(60);
|
'Q' : {F2}PushExt(60);
|
||||||
@ -350,15 +436,135 @@ Begin
|
|||||||
'l' : {F8}PushExt(66);
|
'l' : {F8}PushExt(66);
|
||||||
'w' : {F9}PushExt(67);
|
'w' : {F9}PushExt(67);
|
||||||
'x' : {F10}PushExt(68);
|
'x' : {F10}PushExt(68);
|
||||||
|
'D' : {keyLeft}PushExt($4B);
|
||||||
|
'C' : {keyRight}PushExt($4D);
|
||||||
|
'A' : {keyUp}PushExt($48);
|
||||||
|
'B' : {keyDown}PushExt($50);
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
PushKey(#27);
|
||||||
|
PushKey('O');
|
||||||
|
PushKey(ch);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
255 : ;
|
end;
|
||||||
|
7 : begin {Esc[? keys in vt100 mode PM }
|
||||||
|
case ch of
|
||||||
|
'0' : State:=11;
|
||||||
|
'1' : State:=8;
|
||||||
|
'7' : State:=9;
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
PushKey(#27);
|
||||||
|
PushKey('[');
|
||||||
|
PushKey('?');
|
||||||
|
PushKey(ch);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
8 : begin {Esc[?1 keys in vt100 mode PM }
|
||||||
|
case ch of
|
||||||
|
'l' : {local mode};
|
||||||
|
'h' : {transmit mode};
|
||||||
|
';' : { 'Esc[1;0c seems to be sent by M$ telnet app
|
||||||
|
for no hangup purposes }
|
||||||
|
state:=10;
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
PushKey(#27);
|
||||||
|
PushKey('[');
|
||||||
|
PushKey('?');
|
||||||
|
PushKey('1');
|
||||||
|
PushKey(ch);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
9 : begin {Esc[?7 keys in vt100 mode PM }
|
||||||
|
case ch of
|
||||||
|
'l' : {exit_am_mode};
|
||||||
|
'h' : {enter_am_mode};
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
PushKey(#27);
|
||||||
|
PushKey('[');
|
||||||
|
PushKey('?');
|
||||||
|
PushKey('7');
|
||||||
|
PushKey(ch);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
10 : begin {Esc[?1; keys in vt100 mode PM }
|
||||||
|
case ch of
|
||||||
|
'0' : state:=11;
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
PushKey(#27);
|
||||||
|
PushKey('[');
|
||||||
|
PushKey('?');
|
||||||
|
PushKey('1');
|
||||||
|
PushKey(';');
|
||||||
|
PushKey(ch);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
11 : begin {Esc[?1;0 keys in vt100 mode PM }
|
||||||
|
case ch of
|
||||||
|
'c' : ;
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
PushKey(#27);
|
||||||
|
PushKey('[');
|
||||||
|
PushKey('?');
|
||||||
|
PushKey('1');
|
||||||
|
PushKey(';');
|
||||||
|
PushKey('0');
|
||||||
|
PushKey(ch);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
255 : { just forget this trailing char };
|
||||||
end;
|
end;
|
||||||
if (State<>0) and (InCnt=0) then
|
if (State<>0) and (InCnt=0) then
|
||||||
Select(StdInputHandle+1,@fdsin,nil,nil,10);
|
Select(StdInputHandle+1,@fdsin,nil,nil,10);
|
||||||
end;
|
end;
|
||||||
if State=1 then
|
if State=1 then
|
||||||
PushKey(ch);
|
PushKey(ch);
|
||||||
|
if ch='$' then
|
||||||
|
begin { '$<XX>' means a delay of XX millisecs }
|
||||||
|
is_delay :=false;
|
||||||
|
Select(StdInputHandle+1,@fdsin,nil,nil,10);
|
||||||
|
if (sysKeyPressed) then
|
||||||
|
begin
|
||||||
|
ch:=ttyRecvChar;
|
||||||
|
is_delay:=(ch='<');
|
||||||
|
if not is_delay then
|
||||||
|
begin
|
||||||
|
PushKey('$');
|
||||||
|
PushKey(ch);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
{$ifdef logging}
|
||||||
|
write(f,'$<');
|
||||||
|
{$endif logging}
|
||||||
|
Select(StdInputHandle+1,@fdsin,nil,nil,10);
|
||||||
|
while (sysKeyPressed) and (ch<>'>') do
|
||||||
|
begin
|
||||||
|
{ Should we really repect this delay ?? }
|
||||||
|
ch:=ttyRecvChar;
|
||||||
|
{$ifdef logging}
|
||||||
|
write(f,ch);
|
||||||
|
{$endif logging}
|
||||||
|
Select(StdInputHandle+1,@fdsin,nil,nil,10);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
PushKey('$');
|
||||||
|
end;
|
||||||
|
{$ifdef logging}
|
||||||
|
writeln(f);
|
||||||
|
{$endif logging}
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
Begin
|
Begin
|
||||||
@ -378,6 +584,7 @@ var
|
|||||||
begin
|
begin
|
||||||
arg:=6;
|
arg:=6;
|
||||||
shift:=0;
|
shift:=0;
|
||||||
|
{$Ifndef BSD}
|
||||||
if IOCtl(StdInputHandle,TIOCLINUX,@arg) then
|
if IOCtl(StdInputHandle,TIOCLINUX,@arg) then
|
||||||
begin
|
begin
|
||||||
if (arg and (2 or 8))<>0 then
|
if (arg and (2 or 8))<>0 then
|
||||||
@ -387,6 +594,7 @@ begin
|
|||||||
if (arg and 1)<>0 then
|
if (arg and 1)<>0 then
|
||||||
inc(shift,3);
|
inc(shift,3);
|
||||||
end;
|
end;
|
||||||
|
{$endif}
|
||||||
ShiftState:=shift;
|
ShiftState:=shift;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -397,6 +605,10 @@ procedure InitKeyboard;
|
|||||||
begin
|
begin
|
||||||
SetRawMode(true);
|
SetRawMode(true);
|
||||||
patchkeyboard;
|
patchkeyboard;
|
||||||
|
{$ifdef logging}
|
||||||
|
assign(f,'keyboard.log');
|
||||||
|
rewrite(f);
|
||||||
|
{$endif logging}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -404,6 +616,9 @@ procedure DoneKeyboard;
|
|||||||
begin
|
begin
|
||||||
unpatchkeyboard;
|
unpatchkeyboard;
|
||||||
SetRawMode(false);
|
SetRawMode(false);
|
||||||
|
{$ifdef logging}
|
||||||
|
close(f);
|
||||||
|
{$endif logging}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -588,13 +803,56 @@ end;
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.4 2000-10-15 09:18:22 peter
|
Revision 1.2 2000-10-26 23:08:48 peter
|
||||||
* vt100 keys support merged
|
* merged freebsd from fixes
|
||||||
|
|
||||||
Revision 1.3 2000/10/04 11:53:31 pierre
|
Revision 1.1.2.1 2000/10/25 12:23:20 marco
|
||||||
Add TargetEntry and TargetExit (merged)
|
* Linux dir split up
|
||||||
|
|
||||||
Revision 1.2 2000/07/13 11:32:25 michael
|
Revision 1.1.2.4 2000/10/19 07:41:35 pierre
|
||||||
+ removed logs
|
+ added testkeyb for linux for get Escape sequences easily
|
||||||
|
|
||||||
|
Revision 1.1.2.3 2000/10/19 07:29:01 pierre
|
||||||
|
* enhance special keys support both in linux and vt100 mode
|
||||||
|
|
||||||
|
Revision 1.1.2.2 2000/10/11 16:19:44 pierre
|
||||||
|
* add support of function keys for vt100
|
||||||
|
|
||||||
|
Revision 1.1.2.1 2000/09/25 13:18:37 jonas
|
||||||
|
* added missing restoring of part of the termios info (even though those
|
||||||
|
fields weren't changed, leaving them uninitialized when restoring
|
||||||
|
won't do much good :)
|
||||||
|
|
||||||
|
Revision 1.1 2000/07/13 06:29:39 michael
|
||||||
|
+ Initial import
|
||||||
|
|
||||||
|
Revision 1.2 2000/06/30 09:00:33 jonas
|
||||||
|
* compiles again with -dnomouse
|
||||||
|
|
||||||
|
Revision 1.1 2000/01/06 01:20:31 peter
|
||||||
|
* moved out of packages/ back to topdir
|
||||||
|
|
||||||
|
Revision 1.1 1999/11/24 23:36:38 peter
|
||||||
|
* moved to packages dir
|
||||||
|
|
||||||
|
Revision 1.5 1999/02/16 10:44:53 peter
|
||||||
|
* alt-f<x> support
|
||||||
|
|
||||||
|
Revision 1.4 1998/12/15 10:30:34 peter
|
||||||
|
+ ctrl arrows support
|
||||||
|
* better backspace
|
||||||
|
|
||||||
|
Revision 1.3 1998/12/12 19:13:02 peter
|
||||||
|
* keyboard updates
|
||||||
|
* make test target, make all only makes units
|
||||||
|
|
||||||
|
Revision 1.1 1998/12/04 12:48:30 peter
|
||||||
|
* moved some dirs
|
||||||
|
|
||||||
|
Revision 1.3 1998/10/29 12:49:48 peter
|
||||||
|
* more fixes
|
||||||
|
|
||||||
|
Revision 1.1 1998/10/26 11:31:47 peter
|
||||||
|
+ inital include files
|
||||||
|
|
||||||
}
|
}
|
@ -23,6 +23,9 @@ var
|
|||||||
mousecurcell : TVideoCell;
|
mousecurcell : TVideoCell;
|
||||||
|
|
||||||
|
|
||||||
|
const
|
||||||
|
gpm_fs : longint = -1;
|
||||||
|
|
||||||
procedure PlaceMouseCur(ofs:longint);
|
procedure PlaceMouseCur(ofs:longint);
|
||||||
{$ifndef NOMOUSE}
|
{$ifndef NOMOUSE}
|
||||||
var
|
var
|
||||||
@ -62,13 +65,22 @@ begin
|
|||||||
PendingMouseTail:=@PendingMouseEvent;
|
PendingMouseTail:=@PendingMouseEvent;
|
||||||
PendingMouseEvents:=0;
|
PendingMouseEvents:=0;
|
||||||
FillChar(LastMouseEvent,sizeof(TMouseEvent),0);
|
FillChar(LastMouseEvent,sizeof(TMouseEvent),0);
|
||||||
|
if gpm_fs=-1 then
|
||||||
|
begin
|
||||||
{ open gpm }
|
{ open gpm }
|
||||||
connect.EventMask:=GPM_MOVE or GPM_DRAG or GPM_DOWN or GPM_UP;
|
connect.EventMask:=GPM_MOVE or GPM_DRAG or GPM_DOWN or GPM_UP;
|
||||||
connect.DefaultMask:=0;
|
connect.DefaultMask:=0;
|
||||||
connect.MinMod:=0;
|
connect.MinMod:=0;
|
||||||
connect.MaxMod:=0;
|
connect.MaxMod:=0;
|
||||||
Gpm_Open(connect,0);
|
gpm_fs:=Gpm_Open(connect,0);
|
||||||
|
if (gpm_fs=-2) and (getenv('TERM')<>'xterm') then
|
||||||
|
begin
|
||||||
|
gpm_fs:=-1;
|
||||||
|
Gpm_Close;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
{ show mousepointer }
|
{ show mousepointer }
|
||||||
|
if gpm_fs<>-1 then
|
||||||
ShowMouse;
|
ShowMouse;
|
||||||
{$endif ndef NOMOUSE}
|
{$endif ndef NOMOUSE}
|
||||||
end;
|
end;
|
||||||
@ -77,19 +89,51 @@ end;
|
|||||||
procedure DoneMouse;
|
procedure DoneMouse;
|
||||||
begin
|
begin
|
||||||
{$ifndef NOMOUSE}
|
{$ifndef NOMOUSE}
|
||||||
|
If gpm_fs<>-1 then
|
||||||
|
begin
|
||||||
HideMouse;
|
HideMouse;
|
||||||
Gpm_Close;
|
Gpm_Close;
|
||||||
|
gpm_fs:=-1;
|
||||||
|
end;
|
||||||
{$endif ndef NOMOUSE}
|
{$endif ndef NOMOUSE}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
function DetectMouse:byte;
|
function DetectMouse:byte;
|
||||||
|
{$ifndef NOMOUSE}
|
||||||
|
var
|
||||||
|
x : longint;
|
||||||
|
e : TGPMEvent;
|
||||||
|
connect : TGPMConnect;
|
||||||
|
{$endif ndef NOMOUSE}
|
||||||
begin
|
begin
|
||||||
{$ifdef NOMOUSE}
|
{$ifdef NOMOUSE}
|
||||||
DetectMouse:=0;
|
DetectMouse:=0;
|
||||||
{$else ndef NOMOUSE}
|
{$else ndef NOMOUSE}
|
||||||
|
if gpm_fs=-1 then
|
||||||
|
begin
|
||||||
|
connect.EventMask:=GPM_MOVE or GPM_DRAG or GPM_DOWN or GPM_UP;
|
||||||
|
connect.DefaultMask:=0;
|
||||||
|
connect.MinMod:=0;
|
||||||
|
connect.MaxMod:=0;
|
||||||
|
gpm_fs:=Gpm_Open(connect,0);
|
||||||
|
if (gpm_fs=-2) and (getenv('TERM')<>'xterm') then
|
||||||
|
begin
|
||||||
|
Gpm_Close;
|
||||||
|
gpm_fs:=-1;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
{ always a mouse deamon present }
|
{ always a mouse deamon present }
|
||||||
|
if gpm_fs<>-1 then
|
||||||
|
begin
|
||||||
|
x:=Gpm_GetSnapshot(e);
|
||||||
|
if x<>-1 then
|
||||||
|
DetectMouse:=x
|
||||||
|
else
|
||||||
DetectMouse:=2;
|
DetectMouse:=2;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
DetectMouse:=0;
|
||||||
{$endif ndef NOMOUSE}
|
{$endif ndef NOMOUSE}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -173,6 +217,7 @@ begin
|
|||||||
{$ifdef NOMOUSE}
|
{$ifdef NOMOUSE}
|
||||||
fillchar(MouseEvent,SizeOf(TMouseEvent),#0);
|
fillchar(MouseEvent,SizeOf(TMouseEvent),#0);
|
||||||
{$else ndef NOMOUSE}
|
{$else ndef NOMOUSE}
|
||||||
|
fillchar(MouseEvent,SizeOf(TMouseEvent),#0);
|
||||||
if gpm_fd<0 then
|
if gpm_fd<0 then
|
||||||
exit;
|
exit;
|
||||||
Gpm_GetEvent(e);
|
Gpm_GetEvent(e);
|
||||||
@ -213,11 +258,15 @@ begin
|
|||||||
fillchar(MouseEvent,SizeOf(TMouseEvent),#0);
|
fillchar(MouseEvent,SizeOf(TMouseEvent),#0);
|
||||||
exit(false);
|
exit(false);
|
||||||
{$else ndef NOMOUSE}
|
{$else ndef NOMOUSE}
|
||||||
|
fillchar(MouseEvent,SizeOf(TMouseEvent),#0);
|
||||||
if gpm_fd<0 then
|
if gpm_fd<0 then
|
||||||
exit(false);
|
exit(false);
|
||||||
|
if gpm_fd>0 then
|
||||||
|
begin
|
||||||
FD_Zero(fds);
|
FD_Zero(fds);
|
||||||
FD_Set(gpm_fd,fds);
|
FD_Set(gpm_fd,fds);
|
||||||
if (Select(gpm_fd+1,@fds,nil,nil,1)>0) then
|
end;
|
||||||
|
if (gpm_fd=-2) or (Select(gpm_fd+1,@fds,nil,nil,1)>0) then
|
||||||
begin
|
begin
|
||||||
Gpm_GetSnapshot(e);
|
Gpm_GetSnapshot(e);
|
||||||
MouseEvent.x:=e.x-1;
|
MouseEvent.x:=e.x-1;
|
||||||
@ -237,7 +286,10 @@ begin
|
|||||||
else
|
else
|
||||||
MouseEvent.Action:=0;
|
MouseEvent.Action:=0;
|
||||||
end;
|
end;
|
||||||
PollMouseEvent:=true;
|
if (gpm_fd<>-2) or (MouseEvent.Action<>0) then
|
||||||
|
PollMouseEvent:=true
|
||||||
|
else
|
||||||
|
PollMouseEvent:=false;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
PollMouseEvent:=false;
|
PollMouseEvent:=false;
|
||||||
@ -246,7 +298,51 @@ end;
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.2 2000-07-13 11:32:25 michael
|
Revision 1.2 2000-10-26 23:08:48 peter
|
||||||
+ removed logs
|
* merged freebsd from fixes
|
||||||
|
|
||||||
|
Revision 1.1.2.1 2000/10/25 12:23:20 marco
|
||||||
|
* Linux dir split up
|
||||||
|
|
||||||
|
Revision 1.1.2.1 2000/10/24 07:58:49 pierre
|
||||||
|
* get mouse to not crash on xterm, its now completely disabled
|
||||||
|
|
||||||
|
Revision 1.1 2000/07/13 06:29:39 michael
|
||||||
|
+ Initial import
|
||||||
|
|
||||||
|
Revision 1.3 2000/06/30 09:00:33 jonas
|
||||||
|
* compiles again with -dnomouse
|
||||||
|
|
||||||
|
Revision 1.2 2000/04/17 08:51:38 pierre
|
||||||
|
+ set conditional NOMOUSE to get dummy mouse unit
|
||||||
|
|
||||||
|
Revision 1.1 2000/01/06 01:20:31 peter
|
||||||
|
* moved out of packages/ back to topdir
|
||||||
|
|
||||||
|
Revision 1.1 1999/11/24 23:36:38 peter
|
||||||
|
* moved to packages dir
|
||||||
|
|
||||||
|
Revision 1.5 1999/07/01 19:41:26 peter
|
||||||
|
* define OLDGPM to compile with old gpm (for v1.14) else the new
|
||||||
|
gpm unit from rtl will be used (v1.17)
|
||||||
|
|
||||||
|
Revision 1.4 1999/06/23 00:01:30 peter
|
||||||
|
* check for videobuf=nil
|
||||||
|
|
||||||
|
Revision 1.3 1999/03/31 20:20:18 michael
|
||||||
|
+ Fixed probmem preventing IDE to run in x-term.
|
||||||
|
|
||||||
|
Revision 1.2 1998/12/11 00:13:20 peter
|
||||||
|
+ SetMouseXY
|
||||||
|
* use far for exitproc procedure
|
||||||
|
|
||||||
|
Revision 1.1 1998/12/04 12:48:30 peter
|
||||||
|
* moved some dirs
|
||||||
|
|
||||||
|
Revision 1.3 1998/12/01 15:08:16 peter
|
||||||
|
* fixes for linux
|
||||||
|
|
||||||
|
Revision 1.2 1998/10/29 12:49:49 peter
|
||||||
|
* more fixes
|
||||||
|
|
||||||
}
|
}
|
@ -1,9 +1,10 @@
|
|||||||
{
|
{
|
||||||
$Id$
|
$Id$
|
||||||
Copyright (c) 1997 Balazs Scheidler (bazsi@balabit.hu)
|
|
||||||
|
|
||||||
An interface unit for the terminfo database
|
An interface unit for the terminfo database
|
||||||
|
|
||||||
|
Copyright (c) 1997 Balazs Scheidler (bazsi@balabit.hu)
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the GNU Library General Public
|
modify it under the terms of the GNU Library General Public
|
||||||
License as published by the Free Software Foundation; either
|
License as published by the Free Software Foundation; either
|
||||||
@ -747,18 +748,47 @@ function tparam(const char *, char *, int, ...): PChar; cdecl; external;}
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.3 2000-10-15 09:20:21 peter
|
Revision 1.2 2000-10-26 23:08:48 peter
|
||||||
* linux terminal fixes merged
|
* merged freebsd from fixes
|
||||||
|
|
||||||
Revision 1.2 2000/08/02 12:39:22 jonas
|
Revision 1.1.2.1 2000/10/25 12:23:20 marco
|
||||||
* fixed crashes under ncurses 4 by adding auto-detection for ncurses 4/5
|
* Linux dir split up
|
||||||
* cur_term is not directly usable anymore for the largest part because
|
|
||||||
of a different record layout in ncurses 4/5, therefore the pointers
|
Revision 1.1.2.3 2000/10/09 16:29:14 pierre
|
||||||
cur_term_booleans, cur_term_numbers, cur_term_strings and
|
* more linux terminal fixes
|
||||||
cur_term_common are now available
|
|
||||||
* adapted video.inc to use the new naming convention
|
Revision 1.1.2.2 2000/08/02 12:30:36 jonas
|
||||||
(merged from fixes branch)
|
* improved version check *slightly*
|
||||||
|
|
||||||
Revision 1.1 2000/07/13 06:29:39 michael
|
Revision 1.1 2000/07/13 06:29:39 michael
|
||||||
+ Initial import
|
+ Initial import
|
||||||
|
|
||||||
|
Revision 1.2 2000/06/30 12:28:57 jonas
|
||||||
|
* fixed termtype structure
|
||||||
|
|
||||||
|
Revision 1.1 2000/01/06 01:20:31 peter
|
||||||
|
* moved out of packages/ back to topdir
|
||||||
|
|
||||||
|
Revision 1.1 1999/11/24 23:36:38 peter
|
||||||
|
* moved to packages dir
|
||||||
|
|
||||||
|
Revision 1.3 1999/04/22 14:48:27 peter
|
||||||
|
* remove asm
|
||||||
|
|
||||||
|
Revision 1.2 1998/12/07 12:25:51 peter
|
||||||
|
* link with ncurses which is more available the curses
|
||||||
|
|
||||||
|
Revision 1.1 1998/12/04 12:48:30 peter
|
||||||
|
* moved some dirs
|
||||||
|
|
||||||
|
Revision 1.1 1998/10/26 11:31:47 peter
|
||||||
|
+ inital include files
|
||||||
|
|
||||||
|
Revision 1.3 1998/10/26 09:36:26 peter
|
||||||
|
* fixed cdecl
|
||||||
|
|
||||||
|
Revision 1.2 1998/07/29 20:17:47 bazsi
|
||||||
|
some updates to Video, it now uses terminfo. Some modifications for FreeVision.
|
||||||
|
|
||||||
|
Revision 1.1 1998/06/13 12:38:54 bazsi
|
||||||
}
|
}
|
31
api/unix/testkeyb.pas
Normal file
31
api/unix/testkeyb.pas
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
program raw_read;
|
||||||
|
|
||||||
|
uses
|
||||||
|
keyboard;
|
||||||
|
|
||||||
|
var
|
||||||
|
c : char;
|
||||||
|
col : byte;
|
||||||
|
begin
|
||||||
|
InitKeyboard;
|
||||||
|
c:=' ';
|
||||||
|
col:=1;
|
||||||
|
while c<>'x' do
|
||||||
|
begin
|
||||||
|
c:=RawReadKey;
|
||||||
|
if ord(c)<32 then
|
||||||
|
begin
|
||||||
|
write('"#',ord(c),'"');
|
||||||
|
inc(col,4);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
write(c);
|
||||||
|
inc(col);
|
||||||
|
if col>=80 then
|
||||||
|
begin
|
||||||
|
writeln;
|
||||||
|
col:=0;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
DoneKeyboard;
|
||||||
|
end.
|
@ -25,13 +25,20 @@ const
|
|||||||
|
|
||||||
procedure SendEscapeSeqNdx(Ndx: Word);
|
procedure SendEscapeSeqNdx(Ndx: Word);
|
||||||
var
|
var
|
||||||
P: PChar;
|
P,pdelay: PChar;
|
||||||
begin
|
begin
|
||||||
if not assigned(cur_term_Strings) then
|
if not assigned(cur_term_Strings) then
|
||||||
RunError(219);
|
RunError(219);
|
||||||
P:=cur_term_Strings^[Ndx];
|
P:=cur_term_Strings^[Ndx];
|
||||||
if assigned(p) then
|
if assigned(p) then
|
||||||
|
begin { Do not transmit the delays }
|
||||||
|
pdelay:=strpos(p,'$<');
|
||||||
|
if assigned(pdelay) then
|
||||||
|
pdelay^:=#0;
|
||||||
fdWrite(TTYFd, P^, StrLen(P));
|
fdWrite(TTYFd, P^, StrLen(P));
|
||||||
|
if assigned(pdelay) then
|
||||||
|
pdelay^:='$';
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -627,31 +634,100 @@ end;
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.6 2000-10-15 09:17:20 peter
|
Revision 1.2 2000-10-26 23:08:48 peter
|
||||||
* merged more fixes
|
* merged freebsd from fixes
|
||||||
|
|
||||||
Revision 1.5 2000/10/04 11:53:31 pierre
|
Revision 1.1.2.1 2000/10/25 12:23:20 marco
|
||||||
Add TargetEntry and TargetExit (merged)
|
* Linux dir split up
|
||||||
|
|
||||||
Revision 1.4 2000/09/26 08:18:29 jonas
|
Revision 1.1.2.11 2000/10/19 07:28:18 pierre
|
||||||
|
* do not transmit the delay part in terminfo strings
|
||||||
|
|
||||||
|
Revision 1.1.2.10 2000/10/13 15:09:40 pierre
|
||||||
|
* Handle zero size for term correctly
|
||||||
|
|
||||||
|
Revision 1.1.2.9 2000/10/10 16:39:44 pierre
|
||||||
|
+ transform low ascii chars by changing their colors and adding 48
|
||||||
|
|
||||||
|
Revision 1.1.2.8 2000/10/10 15:34:58 pierre
|
||||||
|
* fixe a bug in Attr2Ansi
|
||||||
|
|
||||||
|
Revision 1.1.2.7 2000/10/10 10:52:56 pierre
|
||||||
|
+ FVMaxWidth to avoid too wide screens
|
||||||
|
|
||||||
|
Revision 1.1.2.6 2000/10/09 21:57:42 pierre
|
||||||
|
* Set LowAscii to false only if not on a local tty
|
||||||
|
|
||||||
|
Revision 1.1.2.5 2000/10/09 16:29:15 pierre
|
||||||
|
* more linux terminal fixes
|
||||||
|
|
||||||
|
Revision 1.1.2.4 2000/10/04 11:44:33 pierre
|
||||||
|
add TargetEntry and TargetExit procedures (needed for linux)
|
||||||
|
|
||||||
|
Revision 1.1.2.3 2000/10/03 22:31:29 pierre
|
||||||
|
* avoid invalid cur_term var
|
||||||
|
|
||||||
|
Revision 1.1.2.2 2000/09/25 13:21:19 jonas
|
||||||
+ added preserving of rawness of terminal when going though
|
+ added preserving of rawness of terminal when going though
|
||||||
init/donevideo
|
init/donevideo
|
||||||
* del_term() is now called in donevideo
|
* del_term() is now called in donevideo
|
||||||
* if initvideo is called while the video is already initialized, the
|
* if initvideo is called while the video is already iniialized, the
|
||||||
screen is cleared and the cursor is set home, instead of going
|
screen is cleared and the cursor is set home, instead of going
|
||||||
through the whole donevideo and then initvideo
|
through the whole donevideo and then initvideo
|
||||||
(merged from fixes branch)
|
|
||||||
|
|
||||||
Revision 1.3 2000/08/02 12:39:22 jonas
|
Revision 1.1.2.1 2000/08/02 12:29:06 jonas
|
||||||
* fixed crashes under ncurses 4 by adding auto-detection for ncurses 4/5
|
* fixed crashes under ncurses 4 by adding auto-detection for ncurses 4/5
|
||||||
* cur_term is not directly usable anymore for the largest part because
|
* cur_term is not directly usable anymore for the largest part because
|
||||||
of a different record layout in ncurses 4/5, therefore the pointers
|
of a different record layout in ncurses 4/5, therefore the pointers
|
||||||
cur_term_booleans, cur_term_numbers, cur_term_strings and
|
cur_term_booleans, cur_term_numbers, cur_term_strings and
|
||||||
cur_term_common are now available
|
cur_term_common are now available
|
||||||
* adapted video.inc to use the new naming convention
|
* adapted video.inc to use the new naming convention
|
||||||
(merged from fixes branch)
|
|
||||||
|
|
||||||
Revision 1.2 2000/07/13 11:32:25 michael
|
Revision 1.1 2000/07/13 06:29:39 michael
|
||||||
+ removed logs
|
+ Initial import
|
||||||
|
|
||||||
|
Revision 1.3 2000/06/30 12:28:57 jonas
|
||||||
|
* fixed termtype structure
|
||||||
|
|
||||||
|
Revision 1.2 2000/03/12 15:02:10 peter
|
||||||
|
* removed unused var
|
||||||
|
|
||||||
|
Revision 1.1 2000/01/06 01:20:31 peter
|
||||||
|
* moved out of packages/ back to topdir
|
||||||
|
|
||||||
|
Revision 1.1 1999/11/24 23:36:38 peter
|
||||||
|
* moved to packages dir
|
||||||
|
|
||||||
|
Revision 1.5 1999/07/05 21:38:19 peter
|
||||||
|
* works now also on not /dev/tty* units
|
||||||
|
* if col,row is 0,0 then take 80x25 by default
|
||||||
|
|
||||||
|
Revision 1.4 1999/02/22 12:46:16 peter
|
||||||
|
+ lowascii boolean if ascii < #32 is handled correctly
|
||||||
|
|
||||||
|
Revision 1.3 1999/02/08 10:34:26 peter
|
||||||
|
* cursortype futher implemented
|
||||||
|
|
||||||
|
Revision 1.2 1998/12/12 19:13:03 peter
|
||||||
|
* keyboard updates
|
||||||
|
* make test target, make all only makes units
|
||||||
|
|
||||||
|
Revision 1.1 1998/12/04 12:48:30 peter
|
||||||
|
* moved some dirs
|
||||||
|
|
||||||
|
Revision 1.6 1998/12/03 10:18:07 peter
|
||||||
|
* tty fixed
|
||||||
|
|
||||||
|
Revision 1.5 1998/12/01 15:08:17 peter
|
||||||
|
* fixes for linux
|
||||||
|
|
||||||
|
Revision 1.4 1998/11/01 20:29:12 peter
|
||||||
|
+ lockupdatescreen counter to not let updatescreen() update
|
||||||
|
|
||||||
|
Revision 1.3 1998/10/29 12:49:50 peter
|
||||||
|
* more fixes
|
||||||
|
|
||||||
|
Revision 1.1 1998/10/26 11:31:47 peter
|
||||||
|
+ inital include files
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user