termcap − Datenbasis zur Beschreibung von Terminals
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 muss 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 Stopp an Hardcopy Terminals |
||
dV |
V.i.M. bei vertikalem Tabulator Stopp an Hardcopy Terminals |
||
it |
Abstand zwischen Tabulatorpositionen |
||
lh |
Höhe von "soft labels" (???) |
||
lm |
So viele 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 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 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.
termcap(3), curses(3), terminfo(5).
Diese ManPage wurde von einem Nicht-’Techie’ übersetzt (sonst hat sich keiner bereitgefunden), daher ist die Wahrscheinlichkeit hoch, dass einiges nicht akkurat oder gar falsch wiedergegeben ist. Korrekturen bitte an
mikefengler AT csi DOT com (Übersetzer) oder an
manpages-de AT infodrom DOT ffis DOT de (Koordinator der deutschen ManPages).