termcap(5)

BEZEICHNUNG
termcap - Datenbank für Terminalfähigkeiten

BESCHREIBUNG
Die Termcap-Datenbank ist eine veraltete Einrichtung zur Beschreibung der Fähigkeiten zeichenorientierter Terminals und Drucker. Sie wird nur noch für die Kompatibilität mit alten Programmen beibehalten, neue Programme sollten terminfo(5) und die zugehörigen Bibliotheken verwenden.

Die ASCII-Datei /etc/termcap, der »Database Master«, enthält eine Beschreibung der Fähigkeiten vieler verschiedener Terminaltypen. Programme können hier die Steuersequenzen nachlesen, mit denen die visuelle Darstellung des verwendeten Terminals gesteuert wird. (Weitere Terminalaspekte werden von stty(1) behandelt.) Die Umgebungsvariable TERM dient als Index in der Termcap-Datenbank.

Einträge in Termcap dürfen nur aus einer einzigen logischen Zeile bestehen, mit »\« werden Zeilenumbrüche unterdrückt. Die Felder eines Eintrags werden durch »:« getrennt. Das erste Feld jedes Eintrags 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 bis 4.3BSD) einen kurzen Namen aus zwei Zeichen enthalten. Die beiden Zeichen dürfen Klein- oder Großbuchstaben sein. 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, den die Umgebungsvariable TERM verwendet. Er sollte aus Kleinbuchstaben bestehen. Wählbare Fähigkeiten der Hardware sollten durch hinzufügen eines Bindestrichs und eines Suffixes zum Namen gekennzeichnet werden. Weiter unten gibt es ein Beispiel dafür. Übliche Suffixe 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 Fähigkeiten, die das Terminal bietet. Fortsetzungszeilen müssen mit einem Tabulator-Zeichen 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-Fähigkeiten, jede Gruppe in sich alphabetisch ohne Rücksicht auf Klein-/Großschreibung sortiert. Fähigkeiten ähnlicher Funktionalität können in eine Zeile geschrieben werden.

Beispiel für:

Kopfzeile: vt|vt101|DEC VT 101 Terminal im 80-Zeichen-Modus:\
Kopfzeile: Vt|vt101-w|DEC VT 101 Terminal im Wide-Modus (132 Zeichen):\
Boolescher Wert: :bs:\
Numerischer Wert: :co#80:\
Zeichenkette: :sr=\E[H:\

  Boolesche Fähigkeiten
5i	Drucker macht keine Bildschirmausgaben
am	Automatic margins = Automatischer 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 des sichtbaren Bereichs bleibt erhalten
db	Anzeige unterhalb des sichtbaren Bereichs bleibt erhalten
eo	Ein Leerzeichen löscht jedes Zeichen ab der Cursorposition
es	Steuersequenzen und spezielle Zeichen arbeiten in der Statuszeile
gn	Generisches Gerät
hc	Hardcopy-Terminal (Konsolen-Drucker)
HC	Cursor schwer erkennbar, wenn nicht in letzter Zeile
hs	Hat eine Statuszeile
hz	Hazeltine Bug, das Terminal kann keine Tilde darstellen
in	Terminal füllt Lücken mit Nullbytes, nicht mit Leerzeichen
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	Kein Auffüllen, XON/XOFF muss verwendet werden
os	Terminal beherrscht »Fettschrift«
ul	Terminal unterstreicht, kann aber keine »Fettschrift«
xb	Beehive glitch, F1 sendet ESCAPE, F2 sendet ^C
xn	Newline/wraparound glitch (kleiner Fehler bei Zeilenvorschub/-umbruch)
xo	Terminal benutzt xon/xoff-Protokoll
xs	Wenn hervorgehobener Text überschrieben wird, wird der ersetzende
	Text ebenfalls hervorgehoben
xt	Teleray glitch, zerstörerische Tabulatoren und merkwürdige Hervorhebungen

  Numerische Fähigkeiten
co	Anzahl Spalten
dB	Verzögerung in Millisekunden (V.i.M) bei Backspace an Hardcopy-Terminals
dC	V.i.M. bei Wagenrücklauf an 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 Tabulatorstopp an Hardcopy-Terminals
dV	V.i.M. bei vertikalem Tabulatorstopp an Hardcopy-Terminals
it	Abstand zwischen Tabulatorpositionen
lh	Höhe von »soft labels«
lm	Speicherzeilen (Lines of memory)
lw	Breite der »soft labels«
li	Zeilenanzahl
Nl	Anzahl der »soft labels«
pb	Niedrigste Baudrate, die Auffüllen benötigt
sg	»Standout glitch«
ug	Underline glitch
vt	Nummer eines virtuellen Terminals
ws	Breite der Statuszeile, falls abweichend von der Bildschirmbreite

  Zeichenketten-Fähigkeiten
!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	Wiederholen-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-Wiederholen-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-BeginnenTaste
*0	Umschalt-Suchen-Taste
*1	Umschalt-Befehl-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	Befehl-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 von Blockgrafik-Zeichen zur Ersetzung eines anderen Zeichensatzes
ae	Ende alternativer Zeichensatz
as	Start alternativer Zeichensatz für Blockgrafik-Zeichen
bc	Rückschritt, falls nicht ^H
bl	Audio bell (Piep!)
bt	Zurück zum vorigen Tabulator-Stopp
cb	Zeile von Anfang bis Cursor löschen
cc	Dummy-Befehlszeichen
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 (auf dem 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 deaktivieren
eA	alternativen Zeichensatz aktivieren
ec	vom Cursor aus %1 Zeichen löschen
ed	Ende Lösch-Modus
ei	Ende Einfüge-Modus
ff	Seitenvorschub-Zeichen 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 vorwärts-/herunterscrollen
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 Befehl
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 Stopp 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 auf %2 und Spalte von %3 auf %4
XF	XOFF-Zeichen falls nicht ^S

Es gibt mehrere Methoden, Steuercodes für Zeichenketten-Fähigkeiten zu definieren:

Normale Zeichen außer »^«, »\« und »%« werden angezeigt.

Ein ^x bedeutet Strg-x. Strg-A entspricht der Zahl 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 Oktal-Zeichen xxx.

i   Erhöht Parameter um eins.

r   Einzelparameterfähigkeit

+   Addiert den Wert des nächsten Zeichens zu diesem Parameter und gibt 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 (»\0«) vermeiden, weil es die Zeichenkette beendet. Sie sollten die Ersetzung von Tabulatoren (tabulator expansion) abschalten, wenn ein Tabulator die binäre Ausgabe eines Parameters sein kann.

Warnung:
    Die oben vorgestellten Metazeichen können falsch sein: sie entstammen der Minix-Termcap, die nicht notwendigerweise kompatibel zu der von Linux ist.

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

as  Start des alternativen Zeichensatzes

ae  Ende des alternativen Zeichensatzes

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

Folgende Namen stehen zur Verfügung:

+	right arrow (>) Pfeil rechts
,	left arrow (<) Pfeil links
.	down arrow (v) Pfeil abwärts
0	full square (#) ausgefülltes Rechteck
I	lantern (#)
-	upper arrow (^ Pfeil aufwärts
'	rhombus (+)
a	chess board (:) Schachbrett
f	degree (') Grad
g	plus-minus (#)
h	square (#) Quadrat
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 (+) Markierung links ?
u	right tee (+) Markierung rechts
v	bottom tee (+) Markierung unten
w	normal tee (+) normale Markierung
x	vertical line (|) vertikaler Strich, Pipe-Symbol
~	paragraph (???) Absatz

Die Angaben in Klammern sind vorgeschlagene Standardwerte, wie sie von der curses-Bibliothek verwendet werden, falls die Fähigkeiten fehlen.

SIEHE AUCH
ncurses(3), termcap(3), terminfo(5)

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> und Dr. Tobias Quathamer <toddy@debian.org> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer (debian-l10n-german@lists.debian.org).