TERMCAP(5)

BEZEICHNUNG
termcap - Datenbasis zur Beschreibung von Terminals

BESCHREIBUNG
Die "termcap" - Datei ist eine veraltete Einrichtung zur Beschreibung der Eigenschaften / Fähigkeiten zeichenbasierter Terminals und Drucker. Sie wird nur noch aus Gründen der Kompatibilität mit alten Programmen beibehalten, neue Programme sollten terminfo(5) und die dazugehörigen Bibliotheken verwenden.

/etc/termcap ist eine ASCII - Datei, welche die Möglichkeiten vieler verschiedener Terminaltypen aufführt. Programme können hier die Steuersequenzen nachlesen, mit denen die visuelle Darstellung gesteuert werden. (Weiter Aspekte des Terminals werden von stty behandelt.) Als Index in die Termcap - Datei dient die Umgebungsvariable TERM.

Einträge in Termcap dürfen nur aus einer einzigen logischen Zeile bestehen, mit `\' werden Zeilenumbrüche "versteckt". Die Felder eines Eintrags werden durch `:' getrennt. Das erste Feld beginnt am linken Rand und enthält eine Liste mit Namen für das Terminal, die ihrerseits durch `|' (das Pipe - Symbol) getrennt sind.

Das erste Unterfeld kann (in BSD Termcap Einträgen Version 4.3 und früher) einen kurzen Namen enthalten, bestehend aus zwei Zeichen, Klein- oder Großbuchstaben. In 4.4BSD Termcap Einträgen gibt es dieses Feld nicht mehr.

Das zweite Unterfeld (im neueren 4.4BSD - Format ist es das erste) enthält den Namen, der in der Umgebungsvariablen TERM steht. Er sollte aus Kleinbuchstaben Bestehen. Ausgewählte Konfigurationen sollten an den Namen mit einem Bindestrich angehängt werden, dazu weiter unten ein Beispiel. Übliche Anhängsel sind w (wide, Zeilenlänge größer als 80 Zeichen), am (automatic margins, automatische Randbegrenzung), nam (no automatic margins, keine automatische Randbegrenzung) und rv (reverse video, Darstellung in dunkler Schrift auf hellem Hintergrund). Das dritte Unterfeld enthält einen langen und aussagekräftigen Namen für diesen Termcap - Eintrag.

Die folgenden Felder enthalten die Möglichkeiten, die das Terminal bietet; wenn aus Platzmangel eine Zeile nicht reicht, so müssen Fortsetzungszeilen mit einem Tabulatorzeichen vom linken Rand aus eingerückt werden.

Obwohl es keine vorgeschriebene Reihenfolge gibt, sieht die Konvention folgendes vor: Erst die booleschen, dann die numerischen und dann die Zeichenketten - Eigenschaften, jede Gruppe in sich alphabetisch ohne Rücksicht auf Klein- / Großschreibung sortiert. Fähigkeiten gleicher Funktionalität können in eine Zeile geschrieben werden.

Beispiel für:

Kopfzeile: vt|vt101|DEC VT 101 terminal in 80 character mode:\
Kopfzeile: Vt|vt101-w|DEC VT 101 terminal in (wide) 132 character mode:\
Boolescher Wert: :bs:\
Numerischer Wert: :co#80:\
Zeichenkette: :sr=\E[H:\

  Boolesche Fähigkeiten
5i	Drucker macht keine Bildschirmausgaben
am	Automatic margins = Automatische Zeilenumbruch
bs	Strg-H (8 dez.) führt Rückschritt (backspace) aus
bw	Rückschritt am linken Rand führt zum rechten Rand der Vorzeile
da	Anzeige oberhalb sichtbarem Bereich bleibt erhalten
db	Anzeige unteralb sichtbarem Bereich bleibt erhalten
eo	Ein Leerzeichen löscht jedes Zeichen an Cursorposition
es	Steuersequenzen und spezielle Zeichen arbeiten in der Statuszeile
gn	Allgemeines Gerät
hc	Hardcopy Terminal (Kann Bildschirmausgabe ausdrucken ???)
HC	Cursor schwer erkennbar, wenn nicht in letzter Zeile
hs	Hat eine Statuszeile
hz	Hazeltine bug, das Terminal kann keine Tilde darstellen
in	Terminal benutzt Nullbytes statt Leerzeichen beim Füllen von Lücken
km	Terminal hat eine Meta - Taste
mi	Cursor - Bewegung funktioniert im Einfügemodus
ms	Cursor - Bewegung funktioniert im Hervorhebungsmodus
NP	Kein Füllzeichen
NR	ti kehrt te nicht um
nx	XON/XOFF muß benutzt werden
os	Terminal kann "Fettschrift"
ul	Terminal unterstreicht, kann aber keine "Fettschrift"
xb	Beehive glitch, f1 sendet ESCAPE, f2 sendet ^C
xn	Newline/wraparound glitch (glitch = kleiner Fehler)
xo	Terminal benutzt xon/xoff Protokoll
xs	Wenn hervorgehobener Text überschrieben wird, wird der
    ersetzende Text ebenfalls hervorgehoben
xt	Teleray glitch, zerstörerische Tabs und merkwürdige Hervorhebung

  Numerische Fähigkeiten
co	Anzahl Spalten
dB	Verzögerung in Millisekunden bei Backspace an Hardcopy Terminals
dC	V.i.M. bei Carriage Returna on Hardcopy Terminals
dF	V.i.M. bei Seitenvorschub an Hardcopy Terminals
dN	V.i.M. bei Zeilenvorschub an Hardcopy Terminals
dT	V.i.M. bei Tabulator Stop an Hardcopy Terminals
dV	V.i.M. bei vertikalem Tabulator Stop an Hardcopy Terminals
it	Abstand zwischen Tabulatorpositionen
lh	Höhe von "soft labels"  (???)
lm	Soviele Zeilen passen in den Speicher (Lines of memory)
lw	Breite der "soft labels"
li	Anzahl Zeilen
Nl	Anzahl "soft labels"
pb	Niedrigste Baudrate, die "Auffüllen" benötigt
sg	Standout glitch
ug	Underline glitch
vt	virtuelle Terminal Nummer
ws	Breite der Statuszeile, falls abweichend von der Bildschirmbreite

  String Capabilities
!1	Umschalt- Speichern Taste
!2	Umschalt- suspend Taste (stoppen, nicht beenden)
!3	Umschalt- Rückgängig Taste
#1	Umschalt- Hilfe Taste
#2	Umschalt- Cursor-nach-links-oben Taste
#3	Umschalt- Eingabe Taste
#4	Umschalt- Cursor links Taste
%0	Wiedeholen Taste
%1	Hilfe Taste
%2	Markieren Taste
%3	Nachricht Taste
%4	Verschieben Taste
%5	Nächstes-Objekt Taste
%6	Öffnen Taste
%7	Optionen Taste
%8	Voriges-Objekt Taste
%9	Drucken Taste
%a	Umschalt- Nachricht Taste
%b	Umschalt- Verschieben Taste
%c	Umschalt- Weiter Taste
%d	Umschalt- Optionen Taste
%e	Umschalt- Zurück Taste
%f	Umschalt- Drucken Taste
%g	Umschalt- Wiedeholen Taste
%h	Umschalt- Ersetzen Taste
%i	Umschalt- Cursor rechts Taste
%j	Umschalt- Weitermachen Taste (siehe 'suspend', w.o.)
&0	Umschalt- Abbrechen Taste
&1	Referenz Taste
&2	Auffrisch Taste
&3	Ersetzen Taste
&4	Neustart Taste
&5	Weitermachen Taste
&6	Speichern Taste
&7	suspend Taste
&8	Rückgängig Taste
&9	Umschalt- Beginnen Taste
*0	Umschalt- Suchen Taste
*1	Umschalt- Kommando Taste
*2	Umschalt- Kopieren Taste
*3	Umschalt- Erzeugen Taste
*4	Umschalt- Löschzeichen
*5	Umschalt- Zeile entfernen
*6	Auswahl Taste
*7	Umschalt- Ende Taste
*8	Umschalt- Zeileninhalt löschen Taste
*9	Umschalt- exit Taste
@0	Suchen Taste
@1	Beginnen Taste
@2	Abbrechen Taste
@3	Schließen Taste
@4	Kommando Taste
@5	Kopieren Taste
@6	Erzeugen Taste
@7	Ende Taste
@8	Eingabe/Absenden Taste
@9	exit Taste
al	eine Zeile einfügen
AL	%1 Zeilen einrücken
ac	Paare Block Grafik Zeichen zur Ersetzung eines anderen Zeichensatzes
ae	Ende alternativer Zeichensatz
as	Start alternativer Zeichensatz für Block Grafik Zeichen
bc	Backspace, falls nicht ^H
bl	Audio bell (Piep!)
bt	Zurückzum vorigen tab stop
cb	Zeileninhalt löschen von Anfang bis Cursor
cc	Ersatz Kommando Zeichen
cd	Löschen bis Bildschirmende
ce	Löschen bis Zeilenende
ch	Cursor waagerecht verschieben bis Spalte %1
cl	Bildschirm löschen, Cursor nach links oben
cm	Cursor verschieben nach Zeile %1 und Spalte %2 (Bildschirm)
CM	Cursor verschieben nach Zeile %1 und Spalte %2 (im Speicher)
cr	Carriage return (Wagenrücklauf, Eingabezeichen, dez. 13)
cs	Scroll Bereich von Zeile %1 bis %2
ct	Tabulatoren löschen
cv	Cursor verschieben bis Zeile %1
dc	ein Zeichen löschen
DC	%1 Zeichen löschen
dl	eine Zeile löschen
DL	%1 Zeilen löschen
dm	Anfang Lösch-Modus
do	Cursor eine Zeile nach unten
DO	Cursor #1 Zeilen nach unten
ds	Statuszeile aus
eA	Zeichensatz umschalten
ec	vom Cursor aus %1 Zeichen löschen
ed	Ende Lösch-Modus
ei	Ende Einfüge-Modus
ff	Seitenvorschubzeichen bei Hardcopy Terminals
fs	Return character to its position before going to status line
F1	Zeichenkette für Funktionstaste f11
F2	Zeichenkette für Funktionstaste f12
F3	Zeichenkette für Funktionstaste f13
...	...
F9	Zeichenkette für Funktionstaste f19
FA	Zeichenkette für Funktionstaste f20
FB	Zeichenkette für Funktionstaste f21
...	...
FZ	Zeichenkette für Funktionstaste f45
Fa	Zeichenkette für Funktionstaste f46
Fb	Zeichenkette für Funktionstaste f47
...	...
Fr	Zeichenkette für Funktionstaste f63
hd	Cursor eine halbe Zeile nach unten
ho	Cursor nach links oben
hu	Cursor eine halbe Zeile nach oben
i1	Initialisierungs-Zeichenkette 1 beim Anmelden
i3	Initialisierungs-Zeichenkette 3 beim Anmelden
is	Initialisierungs-Zeichenkette 2 beim Anmelden
ic	ein Zeichen einfügen
IC	%1 Zeichen einfügen
if	Initialisierungs-Datei
im	Anfang Einfüge-Modus
ip	Insert pad time and needed special characters after insert
iP	Initialisierungs-Programm
K1	obere linke Taste auf dem Tastenblock
K2	mittlere Taste auf dem Tastenblock
K3	obere rechte Taste auf dem Tastenblock
K4	untere linke Taste auf dem Tastenblock
K5	untere rechte Taste auf dem Tastenblock
k0	Funktionstaste 0
k1	Funktionstaste 1
k2	Funktionstaste 2
k3	Funktionstaste 3
k4	Funktionstaste 4
k5	Funktionstaste 5
k6	Funktionstaste 6
k7	Funktionstaste 7
k8	Funktionstaste 8
k9	Funktionstaste 9
k;	Funktionstaste 10
ka	Taste, die alle Tabulatoren löscht
kA	Zeile einfügen Taste
kb	Backspace (Rückschritt) Taste
kB	Einen Tabulator zurück
kC	Bildschirm löschen Taste
kd	Cursor herunter Taste
kD	Entfernen Taste
ke	Tastenblock abschalten
kE	Taste zum Löschen bis Zeilenende
kF	Taste für scrolling vorwärts/herunter
kh	Cursor oben links Taste
kH	Cursor hown down Taste
kI	Zeichen einfügen/Einfügemodus Taste
kl	Cursor links Taste
kL	Zeile löschen Taste
kM	Einfügemodus-Beenden Taste
kN	Taste für nächste Seite
kP	Taste für vorige Seite
kr	Cursor rechts Taste
kR	Taste für scrolling zurück/hoch
ks	Tastenblock einschalten
kS	Löschen bis Bildschirmende Taste
kt	Diesen Tabulator löschen Taste
kT	Hier Tabulator setzen Taste
ku	Cursor hoch Taste
l0	Bezeichnung für nullte Funktionstaste, falls nicht f0
l1	Bezeichnung für erste Funktionstaste, falls nicht f1
l2	Bezeichnung für zweite Funktionstaste, falls nicht f2
...	...
la	Bezeichnung für zehnte Funktionstaste, falls nicht f10
le	Cursor ein Zeichen nach links
ll	Cursor nach links unten
LE	Cursor %1 Zeichen nach links
LF	soft labels abschalten
LO	soft labels einschalten
mb	Anfang Blinkmodus
MC	soft margins löschen
md	Start Fettschrift
me	Ende aller Modi wie so, us, mb, md und mr
mh	Start half bright mode
mk	Dunkelmodus (Zeichen nicht sichtbar)
ML	Linken soft margin setzen
mm	Meta Modus einschalten
mo	Meta Modus abschalten
mp	Eigenschaft 'gesichert' einschalten (protected attribute)
mr	Anfang Invers Modus
MR	Rechten soft margin setzen
nd	Cursor ein Zeichen nach recht
nw	Carriage return Kommando
pc	Padding Zeichen
pf	Drucker ausschalten
pk	Taste %1 sendet Zeichenkette %2 als ob vom Benutzer eingegeben
pl	Taste %1 führt Zeichenkette %2 im 'local' Modus aus
pn	Program soft label %1 to to show string %2
po	Drucker einschalten
pO	Drucker einschalten für %1 (<256) Bytes
ps	Bildschirminhalt auf Drucker ausgeben
px	Taste %1 sendet Zeichenkette %2 an den Computer
r1	Reset Zeichenkette 1 um Terminal in Standardeinstellung zu bringen
r2	Reset Zeichenkette 2 um Terminal in Standardeinstellung zu bringen
r3	Reset Zeichenkette 3 um Terminal in Standardeinstellung zu bringen
RA	automatische Zeilenumbrüche abschalten
rc	gespeicherte Cursor Position wiederherstellen
rf	Reset string file name
RF	Request for input (Eingabeanforderung) vom Terminal
RI	Cursor %1 Zeichen nach rechts
rp	Zeichen %1  %2 - mal wiederholen
rP	Padding after character sent in replace mode
rs	Reset Zeichenkette
RX	XON/XOFF abschalten
sa	Eigenschaften %1 %2 %3 %4 %5 %6 %7 %8 %9 setzen
SA	automatischen Zeilenumbruch einschalten
sc	Cursor Position speichern
se	Ende Hervorhebungsmodus (standout mode)
sf	Normales Scrollen eine Zeile
SF	Normales Scrollen %1 Zeilen
so	Anfang Hervorhebungsmodus (standout mode)
sr	Rückwärts Scrollen
SR	%1 Zeilen rückwärts Scrollen
st	Tabulator Stop in allen Zeilen an derzeitiger Spaltenposition
SX	XON/XOFF einschalten
ta	zum nächsten Hardware Tabulator
tc	Terminal Beschreibung einem anderen Eintrag entnehmen
te	Beenden des Programmes, das Cursorbewegungen verwendet
ti	Anfang des Programmes, das Cursorbewegungen verwendet
ts	Cursor in Spalte %1 der Statuszeile
uc	Zeichen unter Cursor unterstreichen und Cursor 1 nach rechts
ue	Ende Unterstreichung
up	Cursor eine Zeile hoch
UP	Cursor %1 Zeilen hoch
us	Anfang Unterstreichung
vb	Bildschirmdarstellung von 'Piep!' (Visible bell)
ve	Normaler Cursor sichtbar
vi	Cursor unsichtbar
vs	Hervorgehobener Cursor
wi	Setze Fenster von Zeile %1 bis %2 und Spalte %3 to %4
XF	XOFF character falls nicht ^S

Es gibt mehrere Methoden, Kontrollcodes für Zeichenketten - Eigenschaften zu definieren:

Normale Zeichen außer '^', '\' und '%' repräsentieren sich selbst.

A '^x' bedeutet Control-x. Control-A ist dezimal 1.

\x ist ein Spezialcode. x kann eines der folgenden Zeichen sein:
    E Escape (27)
    n Linefeed (10) Zeilenvorschub
    r Carriage return (13) Eingabetaste/Wagenrücklauf
    t Tabulation (9) Tabulator
    b Backspace (8) Rückschritt
    f Form feed (12) Seitenvorschub
    0 Null-Zeichen. Ein \xxx bedeutet das oktale Zeichen xxx.

i   Erhöht Parameter um eins.

r   Einzelparameterfähigkeit.

+   Addiere den Wert des nächsten Zeichens zu diesem Parameter und gib ihn binär aus.

2   ASCII Ausgabe des Parameters mit einer Feldlänge von 2

d   ASCII Ausgabe des Parameters mit einer Feldlänge von 3

%   Ausgabe des Zeichens '%'

Bei binären Ausgaben sollten Sie das Null - Zeichen vermeiden, da es Ende der Zeichenkette darstellt. Sie sollten die Epansion von Tabulatoren abschalten, wenn ein Tabulator die binäre Ausgabe eines Parameters sen kann.

Vorsicht:
    Die oben vorgestellten Metazeichen mögen falsch sein; sie entstammen der Minix - termcap, und diese ist nicht notwendigerweise kompatibel zu der von Linux.

Die Block - Graphik - Zeichen können durch drei Zeichenketten - Fähigkeiten angegeben werden:

as  Start des alternativen Zeichensatzes

ae  Ende

ac  Zeichenpaare. Das erste Zeichen ist der Name des Symbols, das zweite seine Definition.

Folgende Namen stehen zur Verfügung:

+	right arrow (>) Pfeil rechts
,	left arrow (<)  Pfeil links
.	down arrow (v)  Pfeil runter
0	full square (#) ausgefülltes Rechteck
I	latern (#)
-	upper arrow (^) Pfeil hoch
'	rhombus (+)
a	chess board (:) Schachbrett
f	degree (') Grad
g	plus-minus (#)
h	square (#) Rechteck
j	right bottom corner (+) rechte untere Ecke
k	right upper corner (+) rechte obere Ecke
l	left upper corner (+) linke obere Ecke
m	left bottom corner (+) linke untere Ecke
n	cross (+) Kreuz
o	upper horizontal line (-) Oberstrich
q	middle horizontal line (-) Mittelstrich
s	bottom horizontal line (_) Unterstrich
t	left tee (+)
u	right tee (+)
v	bottom tee (+)
w	normal tee (+)
x	vertical line (|) vertikaler Strich, Pipesymbol
~	paragraph (???)

Die Angaben in Klammern sind vorgeschlagene Standardwerte, wie sie von "curses" verwendet werden, wenn keine Angaben vorliegen.

SIEHE AUCH
termcap(3), curses(3), terminfo(5).

WARNUNG
Diese ManPage wurde von einem Nicht - 'Techie' übersetzt (sonst hat sich keiner bereitgefunden), daher ist die Wahrscheinlichkeit hoch, daß einiges nicht akkurat oder gar falsch wiedergegeben ist. Korrekturen bitte an mikefengler@csi.com (Übersetzer) oder an manpages-de@infodrom.ffis.de (Koordinator der deutschen ManPages).