* merged freebsd from fixes

This commit is contained in:
peter 2000-10-26 23:08:47 +00:00
parent b8a008b31c
commit a554625890
11 changed files with 1918 additions and 77 deletions

1275
api/freebsd/Makefile Normal file

File diff suppressed because it is too large Load Diff

44
api/freebsd/Makefile.fpc Normal file
View 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

View File

@ -116,6 +116,8 @@ export FPC OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FPC_VERSION
#####################################################################
INC=../inc
UNIXINC=../unix
# Override defaults
override PASEXT=.pas
@ -192,7 +194,7 @@ endif
# Targets
override UNITOBJECTS+=terminfo $(APIOBJECTS)
override UNITOBJECTS+=$(APIOBJECTS) terminfo
# Clean
@ -209,7 +211,8 @@ ZIPTARGET=install
# Directories
vpath %$(PASEXT) $(INC)
override NEEDINCDIR=$(INC)
override NEEDUNITDIR=$(UNIXINC)
override NEEDINCDIR=$(INC) $(UNIXINC)
ifndef TARGETDIR
TARGETDIR=.
endif
@ -1263,10 +1266,11 @@ endif
# 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

View File

@ -6,7 +6,7 @@
defaulttarget=linux
[targets]
units=terminfo $(APIOBJECTS)
units= $(APIOBJECTS) terminfo
[install]
unitsubdir=api
@ -20,22 +20,25 @@ libversion=1.0
fpcdir=../..
targetdir=.
sourcesdir=$(INC)
incdir=$(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 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

View File

@ -158,7 +158,25 @@ end;
{
$Log$
Revision 1.2 2000-07-13 11:32:24 michael
+ removed logs
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
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
}

View File

@ -114,7 +114,13 @@ function Gpm_GetSnapshot(var Event: TGPMEvent): Longint; cdecl;external;
end.
{
$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
Revision 1.1 2000/01/06 01:20:31 peter

View File

@ -10,6 +10,10 @@ uses
var
OldIO : TermIos;
{$ifdef logging}
f : text;
{$endif logging}
Procedure SetRawMode(b:boolean);
Var
Tio : Termios;
@ -230,11 +234,40 @@ Begin
Keypressed := (KeySend<>KeyPut) or sysKeyPressed;
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;
Var
ch : char;
OldState,
State : longint;
is_delay : boolean;
fdsin : fdSet;
Begin
{Check Buffer first}
@ -257,11 +290,20 @@ Begin
FD_Zero(fdsin);
fd_Set(StdInputHandle,fdsin);
State:=1;
{$ifdef logging}
write(f,'Esc');
{$endif logging}
if InCnt=0 then
Select(StdInputHandle+1,@fdsin,nil,nil,10);
while (State<>0) and (sysKeyPressed) do
begin
ch:=ttyRecvChar;
{$ifdef logging}
if ord(ch)>31 then
write(f,ch)
else
write(f,'#',ord(ch):2);
{$endif logging}
OldState:=State;
State:=0;
case OldState of
@ -277,8 +319,8 @@ Begin
'O' : State:=6;
else
begin
PushKey(ch);
PushKey(#27);
PushKey(ch);
end;
end;
end;
@ -294,15 +336,16 @@ Begin
'K' : PushExt(79);
'1' : State:=4;
'2' : State:=5;
'3' : PushExt(83);
'3' : State:=12;{PushExt(83)}
'4' : PushExt(79);
'5' : PushExt(73);
'6' : PushExt(81);
'?' : State:=7;
else
begin
PushKey(ch);
PushKey('[');
PushKey(#27);
PushKey('[');
PushKey(ch);
end;
end;
if ch in ['3'..'6'] then
@ -315,30 +358,73 @@ Begin
'C' : PushExt(61);
'D' : PushExt(62);
'E' : PushExt(63);
else
begin
PushKey(#27);
PushKey('[');
PushKey('[');
PushKey(ch);
end;
end;
end;
4 : begin
4 : begin {Esc[1}
case ch of
'~' : PushExt(71);
'7' : PushExt(64);
'8' : PushExt(65);
'9' : PushExt(66);
else
begin
PushKey(#27);
PushKey('[');
PushKey('1');
PushKey(ch);
end;
end;
if (Ch<>'~') then
State:=255;
end;
5 : begin
5 : begin {Esc[2}
case ch of
'~' : PushExt(82);
'0' : pushExt(67);
'1' : PushExt(68);
'3' : PushExt(133);
'4' : PushExt(134);
'3' : PushExt($85){F11, but ShiftF1 also !!};
'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;
if (Ch<>'~') then
State:=255;
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
'P' : {F1}PushExt(59);
'Q' : {F2}PushExt(60);
@ -350,15 +436,135 @@ Begin
'l' : {F8}PushExt(66);
'w' : {F9}PushExt(67);
'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;
255 : ;
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;
if (State<>0) and (InCnt=0) then
Select(StdInputHandle+1,@fdsin,nil,nil,10);
end;
if State=1 then
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
else
Begin
@ -378,6 +584,7 @@ var
begin
arg:=6;
shift:=0;
{$Ifndef BSD}
if IOCtl(StdInputHandle,TIOCLINUX,@arg) then
begin
if (arg and (2 or 8))<>0 then
@ -387,6 +594,7 @@ begin
if (arg and 1)<>0 then
inc(shift,3);
end;
{$endif}
ShiftState:=shift;
end;
@ -397,6 +605,10 @@ procedure InitKeyboard;
begin
SetRawMode(true);
patchkeyboard;
{$ifdef logging}
assign(f,'keyboard.log');
rewrite(f);
{$endif logging}
end;
@ -404,6 +616,9 @@ procedure DoneKeyboard;
begin
unpatchkeyboard;
SetRawMode(false);
{$ifdef logging}
close(f);
{$endif logging}
end;
@ -588,13 +803,56 @@ end;
{
$Log$
Revision 1.4 2000-10-15 09:18:22 peter
* vt100 keys support merged
Revision 1.2 2000-10-26 23:08:48 peter
* merged freebsd from fixes
Revision 1.3 2000/10/04 11:53:31 pierre
Add TargetEntry and TargetExit (merged)
Revision 1.1.2.1 2000/10/25 12:23:20 marco
* Linux dir split up
Revision 1.2 2000/07/13 11:32:25 michael
+ removed logs
Revision 1.1.2.4 2000/10/19 07:41:35 pierre
+ 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
}

View File

@ -23,6 +23,9 @@ var
mousecurcell : TVideoCell;
const
gpm_fs : longint = -1;
procedure PlaceMouseCur(ofs:longint);
{$ifndef NOMOUSE}
var
@ -62,14 +65,23 @@ begin
PendingMouseTail:=@PendingMouseEvent;
PendingMouseEvents:=0;
FillChar(LastMouseEvent,sizeof(TMouseEvent),0);
{ open gpm }
connect.EventMask:=GPM_MOVE or GPM_DRAG or GPM_DOWN or GPM_UP;
connect.DefaultMask:=0;
connect.MinMod:=0;
connect.MaxMod:=0;
Gpm_Open(connect,0);
{ show mousepointer }
ShowMouse;
if gpm_fs=-1 then
begin
{ open gpm }
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_fs:=-1;
Gpm_Close;
end;
end;
{ show mousepointer }
if gpm_fs<>-1 then
ShowMouse;
{$endif ndef NOMOUSE}
end;
@ -77,19 +89,51 @@ end;
procedure DoneMouse;
begin
{$ifndef NOMOUSE}
HideMouse;
Gpm_Close;
If gpm_fs<>-1 then
begin
HideMouse;
Gpm_Close;
gpm_fs:=-1;
end;
{$endif ndef NOMOUSE}
end;
function DetectMouse:byte;
{$ifndef NOMOUSE}
var
x : longint;
e : TGPMEvent;
connect : TGPMConnect;
{$endif ndef NOMOUSE}
begin
{$ifdef NOMOUSE}
DetectMouse:=0;
{$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 }
DetectMouse:=2;
if gpm_fs<>-1 then
begin
x:=Gpm_GetSnapshot(e);
if x<>-1 then
DetectMouse:=x
else
DetectMouse:=2;
end
else
DetectMouse:=0;
{$endif ndef NOMOUSE}
end;
@ -173,6 +217,7 @@ begin
{$ifdef NOMOUSE}
fillchar(MouseEvent,SizeOf(TMouseEvent),#0);
{$else ndef NOMOUSE}
fillchar(MouseEvent,SizeOf(TMouseEvent),#0);
if gpm_fd<0 then
exit;
Gpm_GetEvent(e);
@ -213,11 +258,15 @@ begin
fillchar(MouseEvent,SizeOf(TMouseEvent),#0);
exit(false);
{$else ndef NOMOUSE}
fillchar(MouseEvent,SizeOf(TMouseEvent),#0);
if gpm_fd<0 then
exit(false);
FD_Zero(fds);
FD_Set(gpm_fd,fds);
if (Select(gpm_fd+1,@fds,nil,nil,1)>0) then
if gpm_fd>0 then
begin
FD_Zero(fds);
FD_Set(gpm_fd,fds);
end;
if (gpm_fd=-2) or (Select(gpm_fd+1,@fds,nil,nil,1)>0) then
begin
Gpm_GetSnapshot(e);
MouseEvent.x:=e.x-1;
@ -237,7 +286,10 @@ begin
else
MouseEvent.Action:=0;
end;
PollMouseEvent:=true;
if (gpm_fd<>-2) or (MouseEvent.Action<>0) then
PollMouseEvent:=true
else
PollMouseEvent:=false;
end
else
PollMouseEvent:=false;
@ -246,7 +298,51 @@ end;
{
$Log$
Revision 1.2 2000-07-13 11:32:25 michael
+ removed logs
}
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.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
}

View File

@ -1,9 +1,10 @@
{
$Id$
Copyright (c) 1997 Balazs Scheidler (bazsi@balabit.hu)
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
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
@ -747,18 +748,47 @@ function tparam(const char *, char *, int, ...): PChar; cdecl; external;}
end.
{
$Log$
Revision 1.3 2000-10-15 09:20:21 peter
* linux terminal fixes merged
Revision 1.2 2000-10-26 23:08:48 peter
* merged freebsd from fixes
Revision 1.2 2000/08/02 12:39:22 jonas
* 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
of a different record layout in ncurses 4/5, therefore the pointers
cur_term_booleans, cur_term_numbers, cur_term_strings and
cur_term_common are now available
* adapted video.inc to use the new naming convention
(merged from fixes branch)
Revision 1.1.2.1 2000/10/25 12:23:20 marco
* Linux dir split up
Revision 1.1.2.3 2000/10/09 16:29:14 pierre
* more linux terminal fixes
Revision 1.1.2.2 2000/08/02 12:30:36 jonas
* improved version check *slightly*
Revision 1.1 2000/07/13 06:29:39 michael
+ 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
View 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.

View File

@ -25,13 +25,20 @@ const
procedure SendEscapeSeqNdx(Ndx: Word);
var
P: PChar;
P,pdelay: PChar;
begin
if not assigned(cur_term_Strings) then
RunError(219);
P:=cur_term_Strings^[Ndx];
if assigned(p) then
fdWrite(TTYFd, P^, StrLen(P));
begin { Do not transmit the delays }
pdelay:=strpos(p,'$<');
if assigned(pdelay) then
pdelay^:=#0;
fdWrite(TTYFd, P^, StrLen(P));
if assigned(pdelay) then
pdelay^:='$';
end;
end;
@ -627,31 +634,100 @@ end;
{
$Log$
Revision 1.6 2000-10-15 09:17:20 peter
* merged more fixes
Revision 1.2 2000-10-26 23:08:48 peter
* merged freebsd from fixes
Revision 1.5 2000/10/04 11:53:31 pierre
Add TargetEntry and TargetExit (merged)
Revision 1.1.2.1 2000/10/25 12:23:20 marco
* 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
init/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
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
* cur_term is not directly usable anymore for the largest part because
of a different record layout in ncurses 4/5, therefore the pointers
cur_term_booleans, cur_term_numbers, cur_term_strings and
cur_term_common are now available
* adapted video.inc to use the new naming convention
(merged from fixes branch)
Revision 1.2 2000/07/13 11:32:25 michael
+ removed logs
Revision 1.1 2000/07/13 06:29:39 michael
+ 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
}