terminfo Directory
Zweck
Enthält kompilierte Terminfo -Quellendateien.
Beschreibung
Terminfo ist eine kompilierte Datenbank, die die Funktionalität von Terminals beschreibt. Terminals werden in den Terminfo -Quellendateien über Einträge beschrieben. Jeder Eintrag enthält Informationen zur Funktionalität für ein bestimmtes Terminal oder eine Gruppe allgemeiner Terminals. Zu den Funktionen gehören die Operationen, die ausgeführt werden können, die Auffüllanforderungen, die Cursorpositionierung, Befehlsfolgen und Initialisierungsfolgen.
Die kompilierte Terminfo -Datenbank wird von Anwendungen wie curses und vi verwendet, die das Terminal kennen müssen, aber nicht terminalabhängig sein wollen.
Dieser Artikel beschreibt das Terminfo -Quellendateiformat und behandelt die folgenden Themen:
- Quellendateieinträge
- Funktionstypen
- Beschreibungen vorbereiten
- Grundlegende Funktionen
- Parametrisierte Zeichenfolgen
- Cursorbewegungen
- Bereichsfreigaben
- Blättern
- Zeichen einfügen oder löschen
- Hervorhebung, Unterstreichung und visuelle Zellen
- Tastenblock
- Registerkarten und Initialisierung
- Verschiedene Zeichenfolgen
- Statuszeilen
- Liniengrafik
- Farbmanipulation
- Sonderfälle
- Ähnliche Terminals
- Druckerfunktionalität
- Datenbankdateinamen
Ein Beispiel einer Terminfo -Quellendatei wird bereitgestellt.
In diesem Artikel wird das Terminfo -Quellendateiformat erläutert. Bevor eine Terminfo -Beschreibung von Anwendungen verwendet werden kann, muss die Terminfo -Quellendatei, in der sie sich befindet, mit dem Befehl Tic kompiliert werden. Die Verwendung des Befehls Tic führt dazu, dass eine oder mehrere Binärdateien erstellt werden, eine für jedes Terminal. Die Sammlung von terminfo -Binärdateien in einem Verzeichnis (normalerweise /usr/share/lib/terminfo) wird als terminfo -Datenbank oder terminfobezeichnet.
Quellendateieinträge
Sie können Quellendateien bearbeiten oder ändern. Eine Quellendatei kann eine oder mehrere Terminalbeschreibungen oder Einträge enthalten. Eine Terminfo -Quellendatei hat das Suffix .ti . Beispiele für Quellendateien sind die Datei /usr/share/lib/terminfo/ibm.ti , die IBM® -Terminals beschreibt, und die Datei /usr/share/lib/terminfo/dec.ti , die DEC-Terminals beschreibt.
Informationen zum Abrufen der Quellenbeschreibung für ein Terminal, wenn nur die Binärdatei verfügbar ist, finden Sie unter dem Befehl Infocmp .
Jeder Eintrag in einer Terminfo -Quellendatei besteht aus einer Reihe von durch Kommas getrennten Feldern. Leerzeichen zwischen Kommas werden ignoriert. Das folgende Beispiel zeigt einen Quellendateieintrag:
ibm6155-113|IBM 6155 Black & White display,
font0=\E[10m, font1=\E[11m, font2=\E[12m,
bold=\E[12m, sgr0=\E[0;10m,
cols#113, lines#38,
sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;12%;m,
blink@, use=ibm5151, Einträge können in mehreren Zeilen fortgesetzt werden, indem Leerzeichen am Anfang jeder nachfolgenden Zeile eingefügt werden. Um eine Kommentarzeile zu erstellen, beginnen Sie die Zeile mit einem Nummernzeichen (#). Um eine einzelne Terminalfunktion auf Kommentar zu setzen, geben Sie einen Punkt vor dem Funktionsnamen an.
Das erste Feld (oder die erste Zeile) für jedes Terminal gibt die verschiedenen Namen, unter denen das Terminal bekannt ist, getrennt durch | (Pipesymbol) an. Der erste Vorname sollte die am häufigsten verwendete Abkürzung für das Terminal sein. (Dieser Name wird am häufigsten verwendet, wenn die Umgebungsvariable TERM festgelegt wird.) Der angegebene Nachname sollte ein langer Name sein, der das Terminal vollständig identifiziert. Alle anderen Namen werden als Synonyme für den Terminalnamen verstanden. Alle Namen mit Ausnahme des letzten dürfen keine Leerzeichen enthalten. Der Nachname darf zur besseren Lesbarkeit Leerzeichen enthalten. Alle Namen müssen eindeutig sein.
Die übrigen Felder geben die Funktionalität des Terminals an.
Bei der Auswahl von Terminalnamen sind einige Konventionen zu beachten. Der Stammname sollte die bestimmte Hardwareklasse des Terminals darstellen. Verwenden Sie keine Bindestriche im Stammnamen, außer um Synonyme zu vermeiden, die mit anderen Namen in Konflikt stehen. Um mögliche Modi für die Hardware-oder Benutzervorgaben anzugeben, hängen Sie ein Minuszeichen (-) und eines der folgenden Suffixe an:
| Suffix | Bedeutung | Beispiel |
|---|---|---|
| -am | Mit automatischen Rändern (in der Regel Standard) | Termin al-am |
| -m | Monochrommodus | Termin al-m |
| -w | Breiter Modus (mehr als 80 Spalten) | Termin al-w |
| -nam | Ohne automatische Randeinstellungen | Termin al-Name |
| -N | Anzahl der Zeilen in der Anzeige | Termin al-60 |
| -n | Keine Pfeiltasten (lassen Sie sie in lokalen) | Terminal-n |
| -NL | Anzahl der Speicherseiten | Termin al-4p |
| -rv | Umkehranzeige | Termin al-RV |
| -s | Simulation der Statuszeile Das Terminal ermöglicht die Verwendung einer oder mehrerer Zeilen, die normalerweise Teil der Anzeige sind, für die Statuszeile. Dies entspricht nicht den Terminals, die permanent dedizierte Statuszeilen haben. | Termin al-s |
| -unk | Unbekannter Modus. Dieser Eintrag kann verwendet werden, um eine allgemeine Beschreibung eines Terminals zu definieren, das mehrere der oben beschriebenen Modi aufweist. Die anderen Einträge verwenden den unbekannten Eintrag als Basisbeschreibung und fügen die entsprechende Anpassung hinzu. Siehe Feld use=. | Termin al-unk |
Ein Terminal im 132-Spalten-Modus wäre Terminal-w.
Funktionstypen
Ein Eintrag Terminfo kann eine beliebige Anzahl von Funktionen definieren. Alle Funktionen gehören zu einem von drei Typen:
| Element | Beschreibung |
|---|---|
| Boolean | Gibt an, dass das Terminal über eine bestimmte Funktion verfügt Boolesche Funktionen sind wahr, wenn der entsprechende Name in der Terminalbeschreibung enthalten ist. |
| Numeric | Gibt die Größe des Terminals oder die Größe bestimmter Verzögerungen an |
| Zeichenfolge | Gibt eine Sequenz an, mit der bestimmte Terminaloperationen ausgeführt werden können. |
Dieser Artikel enthält Tabellen, in denen die Funktionalitätstypen dokumentiert sind. In allen Tabellen wird Folgendes aufgelistet:
| Element | Beschreibung |
|---|---|
| Variable | Der Name, mit dem die Anwendung auf eine Funktion zugreift. |
| Name der Obergrenze | Der Kurzname der Funktionalität. Dieser Name wird im Terminfo -Datenbanktext und von der Person verwendet, die einen Quellendateieintrag erstellt oder bearbeitet. Mit dem Befehl Tput können Sie den Wert einer Funktion für ein bestimmtes Terminal ausgeben. |
| I.Code | Der aus zwei Buchstaben bestehende interne Code, der in der kompilierten Datenbank verwendet wird Dieser Code entspricht immer einem Termcap -Funktionsnamen. |
| Beschreibung | Eine Beschreibung der Funktionalität. |
Funktionsnamen haben keine absolute Längenbegrenzung. Es wird eine informelle Begrenzung von fünf Zeichen angenommen, um sie kurz zu halten und die Ausrichtung der Registerkarten in der Quellendatei für Großbuchstaben zu ermöglichen. Wenn möglich, werden Namen so ausgewählt, dass sie dem ANSI X3.64 -Standard von 1979 entsprechen oder diesem ähneln.
Eine ausführliche Beschreibung der verschiedenen Funktionen entsprechend der Funktion finden Sie unter:
- Grundlegende Funktionen
- Parametrisierte Zeichenfolgen
- Cursorbewegungen
- Bereichsfreigaben
- Zeile einfügen oder löschen
- Zeilenzeichen einfügen oder löschen
- Hervorhebung, Unterstreichung und visuelle Zellen
- Tastenblock
- Registerkarten und Initialisierung
- Verschiedene Zeichenfolgen
Boolesche Funktionen
Eine boolesche Funktion gibt an, dass das Terminal über eine bestimmte Funktion verfügt. Die Funktion am in einer Terminalbeschreibung gibt beispielsweise an, dass das Terminal über automatische Ränder verfügt (z. B. eine automatische neue Zeile, wenn das Ende einer Zeile erreicht wird). Die booleschen Funktionen lauten wie folgt:
| Variable | Name der Obergrenze | I.Code |
|---|---|---|
|
bw | bw |
|
vormittags | vormittags |
|
BCE | NUT |
|
ccc | CC |
|
XPS | Xs |
|
Xhpa | YA |
|
Cpix | YF |
|
Crxm | YB |
|
Xt | Xt |
|
Xenl | XN |
|
Eo | Eo |
|
Gn | Gn |
|
HC | HC |
|
Chts | Personalbestand |
|
Km | Km |
|
Daisy | YC |
|
HS | HS |
|
hls | Hl |
|
in | in |
|
Lpix | YG |
|
da | da |
|
db | db |
|
Mir | Mi |
|
Msgr | Millisekunden |
|
Nxon | NX |
|
XSD | XB |
|
NPC | NP |
|
ndscr | ND |
|
nrrmc | NR |
|
Betriebssystem | Betriebssystem |
|
mc5i | 5i |
|
XVPA | YD |
|
Sam | YE |
|
Eslok | es |
|
Hz | Hz |
|
UL | UL |
|
Xon | XO |
Numerische Funktionalität
Auf numerische Funktionen folgen das Nummernzeichen (#) und ein numerischer Wert. Die Funktion cols#80 gibt an, dass das Terminal über 80 Spalten verfügt. Im Folgenden sind die numerischen Funktionen aufgeführt:
| Variable | Name der Obergrenze | I.Code |
|---|---|---|
|
Bufsz | Ja |
|
Spalten | co |
|
Spinh | YcName |
|
Spinv | Yb |
|
es | es |
|
LH | LH |
|
LW | LW |
|
Zeilen | Li |
|
Lm | Lm |
|
Xmc | sg |
|
ma | ma |
|
Farben | CO |
|
Maddr | Yd |
|
MJump | Ja |
|
Paare | pa |
|
WNr | MW |
|
MCS | Yf |
|
MLS | Jg |
|
Ncv | NC |
|
NLab | nl |
|
Npins | Ja |
|
ORC | Yi |
|
Orhi | YK |
|
Orl | Yj |
|
Orvi | Yl |
|
PB | PB |
|
cps | YmName |
|
VT | VT |
|
Widcs | JN |
|
WSDL-Element | ws |
Zeichenfolgefunktionen
el=\EK$<3>Die Subroutine Tputs stellt Füllzeichen für eine Verzögerung bereit. Eine Verzögerung kann eine Zahl sein, z. B.20oder eine Zahl gefolgt von einem Stern ( * ), wie z. B.3*. Ein Stern gibt an, dass die erforderliche Auffüllung proportional zur Anzahl der von der Operation betroffenen Zeilen ist. Die angegebene Zahl stellt die erforderliche Auffüllung für jede betroffene Einheit dar. (Bei Einfügezeichen ist der Faktor die Anzahl der betroffenen Zeilen, die immer 1 ist, es sei denn, das Terminal verfügt über die Xenl -Funktion und die Software unterstützt sie). Wenn Sie einen Stern angeben, ist es manchmal sinnvoll, eine Verzögerung im Format A.Banzugeben. Beispiel:3.5, um eine Verzögerung für jede Einheit auf Zehntelmillisekunden anzugeben Sie können nur eine Dezimalstelle angeben.
Die Terminfo -Datenbank stellt mehrere Escapezeichenfolgen in den Funktionen mit Zeichenfolgewerten für die einfache Codierung von Zeichen bereit. Die folgenden Escapecodes werden erkannt:
| Escapecode | Bedeutung |
|---|---|
| \E,\e | Escape |
| \n | Zeilenvorschub |
| \n | Zeilenvorschub |
| \r | Rücklauf |
| \t | Tabulator |
| \b | Rückschritt |
| \f | Formularvorschub |
| \n | Bereich |
| \^ | Karett |
| \\ | Backslash |
| \, | Komma |
| \: | Doppelpunkt |
| \Nnn | Zeichen mit Oktalwert Nnn |
| ^X | Strg-X für alle geeigneten X |
| \0 | Nullzeichen.\0erzeugt tatsächlich \200, das keine Zeichenfolge beendet, sich aber auf den meisten Terminals als Nullzeichen verhält. |
In der Tabelle Zeichenfolgefunktionen werden die folgenden Konventionen verwendet:
- (G)
- Gibt an, dass die Zeichenfolge mit den angegebenen Parametern (#i) über Parameterübergeben wird.
- (*)
- Gibt an, dass die Auffüllung auf der Anzahl der betroffenen Zeilen basieren kann.
- (i)
- Gibt den ith-Parameter an.
Tabelle 4. Zeichenfolgefunktionen Variable Name der Obergrenze I.Code - Anwendungsdefinierte_Zeichenfolge
- Anwendungsdefinierte Terminalzeichenfolge.
Apstr za - Asc_chars
- Alternative Zeichensatzzuordnung von Glyphe zu Zeichen.
ACSC Wechselstrom - Zurück-Registerkarte
- Registerkarte 'Zurück'.
cbt Bt - Bell
- Erzeugt ein akustisches Signal (Signalton).
BEL bl - box_chars_1
- Feldzeichen, Primärgruppe.
box1 BX - box_chars_2
- Feldzeichen, alternativer Satz.
box2 nach - box_attr_1
- Attribute für box_chars_1.
batt1 Bx - box_attr_2
- Attribute für box_chars_2.
batt2 Nach - Rücklauf
- Gibt einen Rücklauf an. (*)
cr cr - Zeichendichte ändern
- Anzahl der Zeichen pro Zoll ändern.
cpi ZA - Zeilenabstand ändern
- Anzahl der Zeilen pro Zoll ändern.
lpi ZB - Änderungs_res_horz
- Horizontale Auflösung ändern.
Chr ZZ - Änderungs_res_vert
- Vertikale Auflösung ändern.
CVR XD - Zeichenauffüllung
- Gibt das Auffüllen von Zeichen im Ersetzungsmodus an.
RMP rP - Änderungsscrollbereich
- Ändert den Bildlaufbereich in Zeilen #1 bis #2. (G)
CSR cs - Zeichensatznamen
- Liste der Zeichensatznamen.
csnm Zy - Alle Registerkarten löschen
- Löscht alle Tabulatorstopps.
tbc ct - Clear_ränder
- Linke und rechte weiche Ränder löschen.
Mgc MC - Anzeige löschen
- Löscht die Anzeige und versetzt den Cursor in die Ausgangsposition. (*)
clear cl - clr_bol
- Bis Zeilenanfang löschen, einschließlich.
el1 CB - clr_eol
- Wird bis zum Zeilenende gelöscht.
el CE - clr_eod
- Löscht den Inhalt bis zum Ende der Anzeige. (*)
ed cd - color_bg_0
- Hintergrundfarbe 0, schwarz.
colb0 d0 - color_bg_1
- Hintergrundfarbe 1, rot.
colb1 d1 - color_bg_2
- Hintergrundfarbe 2, grün.
colb2 d2 - color_bg_3
- Hintergrundfarbe 3, braun.
colb3 d3 - color_bg_4
- Hintergrundfarbe 4, blau.
colb4 d4 - color_bg_5
- Hintergrundfarbe 5, Magenta.
colb5 d5 - color_bg_6
- Hintergrundfarbe 6, Cyan.
colb6 d6 - color_bg_7
- Hintergrundfarbe 7, weiß.
colb7 d7 - color_fg_0
- Vordergrundfarbe 0, schwarz.
colf0 c0 - color_fg_1
- Vordergrundfarbe 1, rot.
colf1 c1 - color_fg_2
- Vordergrundfarbe 2, grün.
colf2 c2 - color_fg_3
- Vordergrundfarbe 3, braun.
colf3 c3 - color_fg_4
- Vordergrundfarbe 4, blau.
colf4 c4 - color_fg_5
- Vordergrundfarbe 5, Magenta.
colf5 c5 - color_fg_6
- Vordergrundfarbe 6, Cyan.
colf6 c6 - color_fg_7
- Vordergrundfarbe 7, weiß.
colf7 c7 - Spaltenadresse
- Setzt die Cursorspalte. (G)
HPA ch - Befehlszeichen
- Gibt an, dass ein Prototyp für Terminalbefehle definiert werden kann.
Cmdch CC - Erstellungsfenster
- Definieren Sie win #1 , um von #2, #3 zu #4, #5zu wechseln.
Cwin CW - Cursoradresse
- Gibt die anzeigenrelative Cursorbewegungszeile #1, col #2an. (G)
cup Cm - Cursor_down
- Bewegt den Cursor um eine Zeile nach unten.
cud1 do - Cursorausgangsverzeichnis
- Bewegt den Cursor an die Ausgangsposition (wenn keine Tasse -Adressierung erfolgt)
home Ho - Cursor_unsichtbar
- Macht den Cursor unsichtbar.
Civis vi - Kursor_links
- Bewegt den Cursor um eine Stelle nach links.
cub1 LE - cursor_mem_adresse
- Gibt die speicherrelative Cursoradressierung an. (G)
Mrcup CM - Cursor_normal
- Bewirkt, dass der Cursor normal angezeigt wird (undo vs oder vi).
CNorm ve - Kursor_rechts
- Gibt zerstörungsfreien Speicherbereich an (Cursor rechts).
cuf1 zweiter - Cursor_to_ll
- Versetzt den Cursor in die erste Spalte der letzten Zeile (wenn keine Tasse -Adressierung erfolgt).
ll ll - Cursor_up
- Verschiebt den Cursor um eine Zeile nach oben.
cuu1 up - Cursor_sichtbar
- Macht den Cursor sehr sichtbar.
Cvvis VS - char definieren
- Definieren Sie ein Zeichen in einem Zeichensatz.
Defc ZE - Löschzeichen
- Löscht Zeichen. (*)
dch1 Gleichstrom - Zeile löschen
- Löscht die Zeile. (*)
dl1 dl - Dial_phone
- Wählen Sie die Telefonnummer #1.
dial DI - Ver_Statuszeile
- Inaktiviert die Statuszeile.
DSL DS - Anzeituhr
- Zeigt die Uhr an.
Dklk DK - Down_Half_Line
- Gibt den Index an (vorwärts 1/2 Zeilenvorschub).
HD HD - ena_acs
- Alternativen Zeichensatz aktivieren.
Enacs eA - Modus 'enter_alt_charset_mode'
- Startet den alternativen Zeichensatz.
SMACs as - Modus 'enter_am_mode'
- Automatische Randeinstellungen aktivieren.
Smam SA - Modus 'enter_blink_mode'
- Aktiviert das Blinken.
blinken Mb - Modus 'enter_bold_mode'
- Aktiviert den Fettdruck (besonders hell).
fett md - Modus 'enter_bottom_mode'
- Startet den Unterzeilenmodus. Diese Zeichenfolgefunktion ist eine Hilfe für das Zeichnen von Tabellen und gilt nur für Aixterm -und aixterm-m -Terminaldefinitionen.
Btml BM - Modus 'enter_ca_mode'
- Startet Programme, die die Tasse -Adresse verwenden.
Smcup Ti - Modus 'enter_delete_mode'
- Startet den Löschmodus.
SMDC DM - Modus 'enter_dim_mode'
- Aktiviert den halbhellen Modus.
abblenden mh - Modus 'enter_doublewide_mode'
- Druck mit doppelter Breite aktivieren.
Swidm ZF - Qualität der Eingabe
- Druckqualität für Entwurf festlegen.
SDRFQ ZG - Modus 'enter_insert_mode'
- Startet den Einfügemodus.
Smir im - Modus 'enter_italics_mode'
- Aktivieren Sie Kursivschrift.
Sitm ZH - Modus 'enter_leftward_mode'
- Aktivieren Sie die Carrigenbewegung nach links.
Slm ZL - Modus 'enter_lvert_mode'
- Startet den linken vertikalen Linienmodus. Diese Zeichenfolgefunktion ist eine Hilfe zum Zeichnen von Tabellen. Nur gültig für Aixterm -und aixterm-m -Terminaldefinitionen.
Lvert lv - Modus 'enter_micro_mode'
- Mikrobewegungsfunktionalität aktivieren.
Smicm ZJ - Fast-Letterqualität eingeben
- Legen Sie die Qualität des Drucks in der Nähe von Buchstaben fest.
Snlq ZK - Qualität eingeben
- Legen Sie die normale Druckqualität fest.
SNMP-Warteschlange ZL - Modus 'enter_protected_mode'
- Aktiviert den geschützten Modus.
Prot Mp - Modus 'enter_reverse_mode'
- Aktiviert den Modus für Umkehranzeige.
rev mr - Modus 'enter_rvert_mode'
- Startet den rechten vertikalen Linienmodus. Diese Zeichenfolgefunktion ist eine Hilfe für das Zeichnen von Tabellen und gilt nur für Aixterm -und aixterm-m -Terminaldefinitionen.
RVERT RV - Modus 'enter_secure_mode'
- Aktiviert den Leermodus (Zeichen sind nicht sichtbar)
Invis mk - Modus 'enter_shadow_mode'
- Spiegeldruck aktivieren.
Sshm ZM - Modus 'enter_standout_mode'
- Startet den Standout-Modus.
SMSO so - Unter_Subskript_Modus
- Indexdruck aktivieren.
ssubm ZN - Modus 'enter_superscript_mode'
- Hochgestellten Druck aktivieren
Ssupm ZO - Modus 'enter_topline_mode'
- Startet den Modus für die oberste Zeile. Diese Zeichenfolgefunktion ist eine Hilfe für das Zeichnen von Tabellen und gilt nur für Aixterm -und aixterm-m -Terminaldefinitionen.
Topl tp - Modus 'enter_underline_mode'
- Startet den Unterstreichungsmodus.
Schlepper us - Modus 'enter_upward_mode'
- Aktivieren Sie die Aufwärtsbewegung des Schlittens.
sum ZP - Modus 'enter_xon_mode'
- Aktivieren Sie Xon/XOff Handshakeverfahren.
Smxon SX - Erase_chars
- Löscht #1 Zeichen. (G)
ech ec - Exit_alt_Zeichensatzmodus
- Beendet den alternativen Zeichensatz.
RMAC ae - Exit_am_Modus
- Automatische Randeinstellungen inaktivieren.
RMAM RA - Exitattributmodus
- Inaktiviert alle Attribute.
sgr0 me - exit_ca_modus
- Beendet Programme, die die Tasse -Adressierung verwenden.
RWM te - Exit_delete_mode
- Beendet den Löschmodus.
RMDC ed - Exit_doublewide_mode
- Druck mit doppelter Breite inaktivieren.
Rwidm ZQ - Exit_insert_mode
- Beendet den Einfügemodus.
Rmir Ei - Exit-Kursivmodus
- Inaktivieren Sie Kursivschrift.
Ritm ZR - exit_leftward_modus
- Vorschubbewegung nach rechts (normal) aktivieren.
RLM ZZ - exit_mikromodus
- Inaktivieren Sie die Mikrobewegungsfunktionalität.
Micm ZT - Modus 'exit_shadow_mode'
- Inaktivieren Sie das Spiegeldrucken.
RSHM ZU - exit_standout_modus
- Beendet den Standout-Modus.
RMSO se - exit_subscript_modus
- Indexdruck inaktivieren.
RSUBM ZV - Exit_superscript_mode
- Hochgestellten Druck inaktivieren.
RSUPM ZW - Modus 'exit_underline_mode'
- Beendet den Unterstreichungsmodus.
Rmul Ue - Modus 'exit_upward_mode'
- Unterfahrbewegung (normal) aktivieren.
Rum ZX - exit_xon_modus
- Xon/xoff-Handshakeverfahren ausschalten.
rmxon RX - flash_anzeige
- Gibt den visuellen Signalton an (bewegt den Cursor möglicherweise nicht).
blinken VB - Fixed_pause
- Halten Sie 2-3 Sekunden lang an.
Anhalten PA - Flash-Hook
- Blinkt den Switch-Hook.
Hook FH - font_0
- Schriftart 0 auswählen.
font0 f0 - font_1
- Schriftart 1 auswählen.
font1 f1 - font_2
- Schriftart 2 auswählen.
font2 f2 - font_3
- Schriftart 3 auswählen.
font3 f3 - font_4
- Schriftart 4 auswählen.
font4 f4 - font_5
- Wählen Sie Schriftart 5 aus.
font5 f5 - font_6
- Wählen Sie Schriftart 6 aus.
font6 f6 - font_7
- Wählen Sie Schriftart 7 aus.
font7 f7 - Formularvorschub
- Seite wird ausgegeben (Hardcopy-Terminal). (*)
FF FF - Von_Statuszeile
- Gibt die Statuszeile zurück.
Fsl FS - Gehe zu Fenster
- Wechseln Sie zum Fenster #1.
Wingo Arbeitsgruppe - Auflegen
- Telefon auflegen.
Hup HU - init_1string
- Initialisiert das Terminal.
is1 i1 - init_2string
- Initialisiert das Terminal.
is2 ist - init_3string
- Initialisiert das Terminal.
is3 i3 - initdatei
- Gibt die Datei an, die lange ist -Initialisierungszeichenfolgen enthält
if if - init_prog
- Sucht das Programm für die Initialisierung.
Iprog iP - initialize_farbe
- Initialisieren Sie die Farbdefinition.
InitC IC - Paar initialisieren
- Farbpaar initialisieren.
Initialisierung IP - Einfügezeichen
- Fügt Zeichen ein.
ich1 IC - Zeile einfügen
- Fügt eine neue leere Zeile hinzu (*)
il1 Alle - Auffüllung einfügen
- Fügt den Block nach dem eingefügten Zeichen ein. (*)
ip ip - key_a1
- Gibt die linke obere Ecke des Tastenblocks an
ka1 K1 - key_a3
- Gibt die rechte obere Ecke des Tastenblocks an
ka3 K3 - Tastenaktion
- Gesendet durch Aktionsschlüssel
Kact kJ - key_b2
- Gibt die Mitte des Tastenblocks an
kb2 K2 - Schlüsselrückschritt
- Durch Rückschritttaste gesendet.
KB KB - Schlüssel_Beg
- Anfangsschlüssel. KEY_BEG (SCHLÜSSEL)
Kbeg @1 - Chiffrierschlüssel_btab
- Per Rücktaste gesendet. KEY_BTAB
kcbt kB - key_c1
- Gibt die linke untere Ecke des Tastenblocks an
kc1 K4 - key_c3
- Gibt unten rechts im Tastenblock an.
kc3 K5 - Schlüssel_abbrechen
- Abbruchtaste. KEY_CANCEL (ABBRECHEN)
Kcan @2 - Schlüsselkatab
- Gesendet durch die Taste zum Löschen aller Tabulatoren.
Ktbc Ka - Schlüssel_löschen
- Gesendet durch Löschen der Anzeige oder Löschtaste.
KCLR kC - Schlüsselabschluss
- Schlüssel schließen. KEY_CLOSE (Schließen)
Kclo @3 - Schlüsselbefehl
- Befehlstaste.
kcmd @4 - Teilfenster 'key_command_pane'
- Taste des Befehlsteilfensters.
kcpn @7 - Schlüsselkopie
- Schlüssel kopieren. SCHLÜSSELKOPIE
KCPY @5 - Schlüssel_erstellen
- Schlüssel erstellen. SCHLÜSSELERSTELLUNG
KCRT @6 - Chiffrierschlüssel_ctab
- Gesendet durch Löschen der Tabulatortaste
kctab Kt - Schlüssel_DC
- Gesendet durch Löschzeichenschlüssel.
kdch1 kD - Schlüssel_dl
- Gesendet durch Löschtaste.
kdl1 kL - Schlüssel_do
- Schlüssel anfordern.
Kdo Ki - Schlüssel_inaktiv
- Gesendet über die Abwärtspfeiltaste des Terminals.
kcud1 Kd - Schlüsseleier
- Gesendet von Rmir oder Smir im Einfügemodus.
Krmir kM - Schlüsselende
- Endschlüssel. KEY_ENDE
Kend @7 - Schlüsseleingabe
- Eingeben/senden (unzuverlässig). GEBEN SIE DEN SCHLÜSSEL EIN.
Kent @8 - Schlüssel_eol
- Gesendet über Zeilenumbruch-zu-Zeilenende-Schlüssel.
Kel kE - Schlüssel_eos
- Wird über die Taste zum Löschen der Anzeige gesendet.
Ked kS - Schlüsselexit
- Exittaste. GEBEN SIE EXIT EIN.
Kext @9 - key_f0
- Gesendet über Funktionstaste F0
kf0 k0 - key_f1
- Gesendet über Funktionstaste F1
kf1 k1 - key_f2
- Gesendet über Funktionstaste F2
kf2 k2 - key_f3
- Gesendet über Funktionstaste F3
kf3 k3 - key_f4
- Gesendet über Funktionstaste F4
kf4 k4 - key_f5
- Gesendet über Funktionstaste F5
kf5 k5 - key_f6
- Gesendet über Funktionstaste F6
kf6 k6 - key_f35
- Gesendet über Funktionstaste 35. KEY_F (35)
kf35 FP - key_f36
- Gesendet durch Funktionstaste 36. KEY_F (36)
kf36 FP - key_f37
- Gesendet über Funktionstaste 37 KEY_F (37)
kf37 FQ - key_f38
- Gesendet über Funktionstaste 38. KEY_F (38)
kf38 FR - key_f39
- Gesendet über Funktionstaste 39. KEY_F (39)
kf39 FS - key_f40
- Gesendet durch Funktionstaste 40. KEY_F (40)
kf40 FT - key_f41
- Gesendet durch Funktionstaste 41. KEY_F (41)
kf41 FU - key_f42
- Gesendet über Funktionstaste 42. KEY_F (42)
kf42 FV - key_f43
- Gesendet über Funktionstaste 43. KEY_F (43)
kf43 FW - key_f44
- Gesendet über Funktionstaste 44. KEY_F (44)
kf44 FX - key_f45
- Gesendet über Funktionstaste 45. KEY_F (45)
kf45 Gj. - key_f46
- Gesendet durch Funktionstaste 46. KEY_F (46)
kf46 FZ - key_f47
- Gesendet über Funktionstaste 47. KEY_F (47)
kf47 Fa - key_f48
- Gesendet über Funktionstaste 48 KEY_F (48)
kf48 Fb - key_f49
- Gesendet über Funktionstaste 49. KEY_F (49)
kf49 Fc - key_f50
- Gesendet über Funktionstaste 50. KEY_F (50)
kf50 FD - key_f51
- Gesendet über Funktionstaste f51 KEY_F (51)
kf51 FE - key_f52
- Gesendet über Funktionstaste f52 KEY_F (52)
kf52 FF - key_f53
- Gesendet über Funktionstaste f53 KEY_F (53)
kf53 AG - key_f54
- Gesendet über Funktionstaste f54 KEY_F (54)
kf54 fi - key_f55
- Gesendet über Funktionstaste f55 KEY_F (55)
kf55 Fj - key_f56
- Gesendet über Funktionstaste f56 KEY_F (56)
kf56 Fk - key_f57
- Gesendet über Funktionstaste f57 KEY_F (57)
kf57 fl - key_f58
- Gesendet über Funktionstaste f58 KEY_F (58)
kf58 Fm - key_f59
- Gesendet über Funktionstaste f59 KEY_F (59)
kf59 Fn-Taste - key_f60
- Gesendet über Funktionstaste f60 KEY_F (60)
kf60 Fo - key_f61
- Gesendet über Funktionstaste f61 KEY_F (61)
kf61 Fp - key_f62
- Gesendet über Funktionstaste f62 KEY_F (62)
kf62 Fq - key_f63
- Gesendet über Funktionstaste f63 KEY_F (63)
kf63 Fr - Schlüsselsuche
- Schlüssel suchen. SCHLÜSSEL_SUCHEN
Kfnd @0 - Schlüsselhilfe
- Hilfetaste.
Khlp KQ - Schlüsselausgangsverzeichnis
- Nach Home-Schlüssel gesendet.
Khome Kh - Schlüssel_ic
- Gesendet durch Einfügezeichen/Eingabetaste-Einfügetaste.
kich1 kI - Schlüssel_il
- Durch Zeileneinfügetaste gesendet.
kil1 kA - Schlüssel_links
- Gesendet durch Linkspfeiltaste des Terminals.
kcub1 Kl - Schlüssel_ll
- Nach Home-down-Taste gesendet.
Kll kH - Schlüsselmarkierung
- Markierungsschlüssel. KEY_MARK (SCHLÜSSELMARKIERUNG)
Kmrk %2 - Schlüsselnachricht
- Nachrichtenschlüssel. SCHLÜSSELNACHRICHT
KNachricht %3 - Schlüssel_verschieben
- Taste verschieben. KEY_MOVE
KMOV %4 - Schlüsselzeilenumbruch
- Zeilenvorschubschlüssel.
Knl Kn - Schlüssel_weiter
- Nächster Objektschlüssel. KEY_WEITER
Knxt %5 - Fenster 'key_next_pane'
- Schlüssel für das nächste Teilfenster.
Knpn Kv - Schlüsselseite
- Nach Schlüssel für nächste Seite gesendet.
knp kN - Schlüssel_öffnen
- Schlüssel öffnen. KEY_OPEN (ÖFFNEN)
Kopn %6 - Schlüsseloptionen
- Optionstaste. SCHLÜSSELOPTIONEN
Kopt %7 - Schlüssel_ppage
- Nach Schlüssel der vorherigen Seite gesendet.
Kpp kP - Schlüssel_vorheriges_Teilfenster
- Gesendet durch Taste des vorherigen Teilfensters.
Kppn kV - Taste_vorheriger_Befehl
- Wird über die Taste für vorherigen Befehl gesendet.
kpcmd Kp - Schlüssel_vorheriges
- Vorheriger Objektschlüssel. SCHLÜSSEL_ZURÜCK
Kprv %8 - Tasten_drucken
- Drucken oder kopieren. KEY_PRINT
Kprt %9 - Tasten_beenden
- Taste beenden.
Kquit kQ - Schlüssel_Wiederholen
- Wiederherstellungsschlüssel. KEY_REDO (REDO)
Krdo %0 - Schlüsselreferenz
- Referenzschlüssel. SCHLÜSSELREFERENZ
Kref &1 - KEY_REFRESH
- Aktualisierungsschlüssel. KEY_REFRESH
Krfr &2 - Schlüsselersetzung
- Schlüssel ersetzen. SCHLÜSSEL ERSETZEN
Krpl &3 - Schlüsselneustart
- Neustartschlüssel. SCHLÜSSELNEUSTART
Krst &4 - Schlüsselwiederaufnahme
- Wiederaufnahmeschlüssel SCHLÜSSEL_WIEDERAUFNEHMEN
Kres &5 - Schlüssel_rechts
- Nach Rechtspfeiltaste des Terminals gesendet.
kcuf1 kr - Schlüssel_speichern
- Schlüssel speichern. SPEICHERN SPEICHERN
KSAV &6 - Schlüsselsbeg
- Verschobene Anfangstaste. SCHLÜSSEL_SBEG
kBEG &9 - Taste_Abbrechen
- Abbruchtaste verschoben. KEY_ABBRECHEN
kCAN &0 - Schlüsselbefehl
- Verschobene Befehlstaste. BEFEHL "KEY_SCOMMAND"
kCMD *1 - Key_scopy
- Kopiertaste mit Schlüsselumschaltung. KEY_SCOPY
kCPY *2 - key_screate
- Geschl. Erstellungsschlüssel. KEY_SCREATE (SCHLÜSSELSATZ)
kCRT *3 - Tasten_Bildlauf_links
- Blättern Sie nach links.
KSCL kz - Tasten_Bildlauf_rechts
- Blättern Sie nach rechts.
KSCR kZ - Tasten_SDC
- Taste zum Löschen von Zeichen verschoben. SCHLÜSSEL_SDC
kDC *4 - key_sdl
- Taste für Zeilenumbruch. SCHLÜSSEL_SDL
kDL *5 - Schlüsselauswahl
- Schlüssel auswählen.
Kslt *6 - Schlüssel_senden
- Taste für geschobenes Ende. KEY_SEND (SENDEN)
kEND *7 - Schlüssel_seol
- Taste für Zeilenumbruch. KEY_SEOL
kEOL *8 - Schlüsselsexit
- Taste für den verschobenen Ausgang. KEY_SEXIT (SEXIT)
kEXT *9 - Schlüssel_sf
- Gesendet durch die Taste "scroll-forward/ scroll-down".
Art kF - key_sf1
- Sonderfunktionstaste 1.
ksf1 S1 - key_sf2
- Spezielle Funktionstaste 2.
ksf2 S2 - key_sf3
- Spezielle Funktionstaste 3.
ksf3 S3 - key_sf4
- Spezielle Funktionstaste 4.
ksf4 S4 - key_sf5
- Sonderfunktionstaste 5.
ksf5 S5 - key_sf6
- Spezielle Funktionstaste 6.
ksf6 S6 - key_sf7
- Spezielle Funktionstaste 7.
ksf7 S7 - key_sf8
- Spezielle Funktionstaste 8.
ksf8 S8 - key_sf9
- Sonderfunktionstaste 9.
ksf9 S9 - key_sf10
- Spezielle Funktionstaste 10.
ksf10 S0 - key_sfind (Schlüsselsuche)
- Geschobene Suchtaste. KEY_SFIND (SCHLÜSSEL)
kFND *0 - Schlüsselshelp
- Die Hilfetaste wurde verschoben. SCHLÜSSEL_SHELLP
kHLP #1 - Schlüssel_shome
- Taste für versetzte Ausgangsposition. KEY_SHOME (SCHLÜSSELGESCHÄFT)
kHOM #2 - Schlüssel_sic
- Verschobene Eingabetaste. KEY_SIC
kIC #3 - Schlüssel_links
- Nach links geschobene Pfeiltaste. SCHLÜSSEL_LINKS
kLFT #4 - key_smap_in1
- Eingabe für speziellen zugeordneten Schlüssel 1.
kmpf1 Kv - key_smap_in2
- Eingabe für speziellen zugeordneten Schlüssel 2.
kmpf2 Kw - key_smap_in3
- Eingabe für speziellen zugeordneten Schlüssel 3.
kmpf3 KxGenericName - key_smap_in4
- Eingabe für speziellen zugeordneten Schlüssel 4.
kmpf4 Ky - key_smap_in5
- Eingabe für speziellen zugeordneten Schlüssel 5.
kmpf5 Kz - key_smap_in6
- Eingabe für speziellen zugeordneten Schlüssel 6.
kmpf6 kr - key_smap_in7
- Eingabe für speziellen zugeordneten Schlüssel 7.
kmpf7 K - key_smap_in8
- Eingabe für speziellen zugeordneten Schlüssel 8.
kmpf8 Kt - key_smap_in9
- Eingabe für speziellen zugeordneten Schlüssel 9.
kmpf9 Ku - key_smap_out1
- Ausgabe für zugeordneten Schlüssel 1.
kmpt1 KV - key_smap_out2
- Ausgabe für zugeordneten Schlüssel 2.
kmpt2 KW - key_smap_out3
- Ausgabe für zugeordneten Schlüssel 3.
kmpt3 KXGenericName - key_smap_out4
- Ausgabe für zugeordneten Schlüssel 4.
kmpt4 KY - key_smap_out5
- Ausgabe für zugeordneten Schlüssel 5.
kmpt5 KZ - key_smap_out6
- Ausgabe für zugeordneten Schlüssel 6.
kmpt6 KR - key_smap_out7
- Ausgabe für zugeordneten Schlüssel 7.
kmpt7 KS - key_smap_out8
- Ausgabe für zugeordneten Schlüssel 8.
kmpt8 kt - key_smap_out9
- Ausgabe für zugeordneten Schlüssel 9.
kmpt9 KU - Schlüsselnachricht
- Verschobener Nachrichtenschlüssel. SCHLÜSSELNACHRICHT
kMSG %a - Tasten_verschieben
- Verschobene Verschiebetaste. KEY_SMOVE
kMOV %b - Schlüssel_Nächster
- Geschobene nächste Taste. KEY_SNEXT
kNXT %c - Schlüsseloptionen
- Taste für verschobene Optionen. KEY_SOPTIONS (SCHLÜSSELEINTRÄGE)
kOPT %d - Schlüsselsprevious
- Vorige Taste verschoben. SCHLÜSSELSPREVIOUS
kPRV %e - Schlüsselsprint
- Verschobene Drucktaste. KEY_SPRINT
kPRT %f - Schlüssel_SR
- Mit Blättertaste rückwärts gesendet.
Kri kR - Schlüssel_Wiederholen
- Wiederherstellungsschlüssel wurde verschoben. KEY_SREDO
kRDO %g - Schlüsselersetzung
- Taste zum Ersetzen mit der Taste SHIFT. SCHLÜSSEL ERSETZEN
kRPL %h - Schlüssel_rechts
- Nach rechts geschobene Pfeiltaste. SCHLÜSSEL_RECHTS
kRIT %i - Schlüssel_srsume
- Taste für Fortsetzungstaste. KEY_SRSUMME
kRES %j - Schlüssel_speichern
- Verschobener Sicherungsschlüssel. KEY_SSAVE
kSAV !1 - key_suspend
- Versetzte Taste. KEY_SSUPEND (SCHLÜSSEL)
kSPD !2 - Schlüsseltabelle
- Gesendet über die Set-Tab-Taste.
Khts kT - key_sundo
- Taste "Rückgängig". SCHLÜSSEL_RÜCKGÄNGIG
kUND !3 - Taste_Aussetzen
- Schlüssel aussetzen. KEY_SUSPEND
Kspd &7 - Chiffrierschlüssel
- Tabulatortaste.
Ktab ko - Schlüsselrückgängigmachen
- Widerrufstaste. KEY_UNDO (BEIBEHALTEN)
Kund &8 - Schlüssel_oben
- Gesendet von der Aufwärtspfeiltaste des Terminals.
kcuu1 Ku - Tastenblock_lokal
- Beendet den Übertragungsmodus des Tastenblocks.
Rmkx ke - Tastatur_Senden
- Versetzt das Terminal in den Übertragungsmodus des Tastenblocks.
SMKX K - lab_f0
- Kennsätze, Funktionstaste F0, wenn nicht F0.
lf0 l0 - lab_f1
- Kennsätze, Funktionstaste F1, wenn nicht F1.
lf1 l1 - lab_f2
- Kennsätze, Funktionstaste F2, wenn nicht F2.
lf2 l2 - lab_f3
- Kennsätze, Funktionstaste F3, wenn nicht F3.
lf3 l3 - lab_f4
- Kennsätze, Funktionstaste F4, wenn nicht F4.
lf4 l4 - lab_f5
- Kennsätze, Funktionstaste F5, wenn nicht F5.
lf5 l5 - lab_f6
- Kennsätze, Funktionstaste F6, wenn nicht F6.
lf6 l6 - lab_f7
- Kennsätze, Funktionstaste F7, wenn nicht F7.
lf7 l7 - lab_f8
- Kennsätze, Funktionstaste F8, wenn nicht F8.
lf8 l8 - lab_f9
- Kennsätze, Funktionstaste F9, wenn nicht F9.
lf9 l9 - lab_f10
- Kennsätze, Funktionstaste F10, wenn nicht F10.
lf10 La - Kennsatzformat
- Beschriftungsformat.
Fln LF - Beschriftung_aus
- Inaktivieren Sie Soft-Labels.
Rmln LF - label_on
- Aktivieren Sie Softlabels.
Smln LO - Meta_on
- Aktiviert den Meta-Modus (8. Bit).
Smm mm - Meta_aus
- Inaktiviert den Metamodus.
rmm mo - Mikrospaltenadresse
- Verschieben Sie N Schritte von links.
MHPA ZJ - Mikro_inaktiv
- 1 Schritt nach unten verschieben.
mcud1 ZZ - Mikro_links
- 1 Schritt nach links verschieben.
mcub1 Za - Mikro_rechts
- 1 Schritt nach rechts verschieben.
mcuf1 Zb - Mikrozeilenadresse
- Verschieben Sie die N -Schritte von oben.
Mvpa ZK - Mikro_up
- 1 Schritt nach oben.
mcuu1 ZZ - Zeilenumbruch
- Führt eine Zeilenvorschubfunktion aus (verhält sich wie Rücklauf gefolgt von Zeilenvorschub).
nel NW - Reihenfolge der Pins
- Gleicht Softwarebits mit Druckkopfpins ab.
Porder Ze - Ursprüngliche_Farben
- Originalfarben.
OC OC - Ursprungspaar
- Ursprüngliches Farbpaar.
op op - pad_zeichen
- Auffüllt Zeichen (anstelle von NULL).
Pad PC - Parameter_dch
- Löscht #1 Zeichen. (G)
dch DC - Parameter_delete_line
- Löscht #1 Zeilen. (G)
dl dl - Parm_Down_Cursor
- Verschiebt den Cursor nach unten #1 Zeilen. (G*)
cud DO - Parm_Down_Micro
- Verschieben Sie die N -Schritte nach unten. (G*)
Mcud Zf - Parm_ich
- Fügt #1 Leerzeichen ein. (G*)
ich IC - Parameterindex
- Blättert vorwärts #1 Zeilen. (G)
indn SF - Parametereinfügezeile
- Fügt #1 neue leere Zeilen hinzu. (G*)
il AL - Parm_Links_Cursor
- Bewegt den Cursor nach links #1 Leerzeichen. (G)
cub Groß - Parm_links_Mikro
- N Schritte nach links verschieben.
Mcub Zg - parm_rechts_cursor
- Bewegt den Cursor nach rechts #1 Leerzeichen. (G*)
cuf RI - Parm_rechts_Mikro
- Verschieben Sie die N -Schritte nach rechts.
Mcuf Zhstar name - Parameterrindex
- Blättert #1 Zeilen rückwärts. (G)
Rinn SR - Parameter_auf_Cursor
- Verschiebt den Cursor nach oben #1 Zeilen. (G*)
cuu UP - Parm_up_Micro
- Verschieben Sie die N -Schritte nach oben.
Mcuu Zi - pkey_schlüssel
- Funktionstaste für "Programme" #1 zum Eingeben von Zeichenfolge #2.
Funktionstaste pk - pkey_lokal
- Funktionstaste für "Programme" #1 zum Ausführen der Zeichenfolge #2.
Pfloc pl - pkey_xmit
- Programmfunktionstaste #1 zum Übertragen der Zeichenfolge #2.
Pfx px - Plab_Norm
- Programmbezeichnung #1 zum Anzeigen der Zeichenfolge #2.
Pln Pn - Druckanzeige
- Druckt den Inhalt der Anzeige.
mc0 ps - prtr_nicht
- Aktiviert den Drucker für #1 Byte.
mc5p pO - Befehl 'prtr_off'
- Inaktiviert den Drucker.
mc4 pf - Prtr_on
- Aktiviert den Drucker.
mc5 po - Impuls
- Wählen Sie die Impulswahl aus.
Impuls PU - Schnellwahl
- Wählen Sie die Telefonnummer #1ohne Statuserkennung.
Qdial QD - Uhr entfernen
- Uhrzeitgeber entfernen.
Rmclk RC - Wiederholzeichen
- Wiederholt #1 Zeichen #2 mal. (G*)
Rep RP - req_for_eingabe
- Nächstes Eingabezeichen senden (für pty's)
RFI HF - reset_1string
- Setzt das Terminal auf bekannte Modi zurück.
rs1 r1 - reset_2string
- Setzt das Terminal auf bekannte Modi zurück.
rs2 r2 - reset_3string
- Setzt das Terminal auf bekannte Modi zurück.
rs3 r3 - Zurücksetzungsdatei
- Gibt die Datei an, die die Zurücksetzungszeichenfolge enthält
RF RF - Cursor wiederherstellen
- Stellt den Cursor an die Position der letzten Sc (save_cursor) wieder her.
rc rc - Zeilenadresse
- Positioniert den Cursor an eine absolute vertikale Position (Zeile festlegen) (G)
VPA CV - Cursor speichern
- Speichert die Cursorposition.
sc sc - Weiterblättern
- Blättert Text nach oben.
ind SF - Blätterumkehrung
- Blättert Text abwärts.
ri sr - Auswahlzeichensatz
- Wählen Sie den Zeichensatz aus.
scs Zjstar name - set_attribute
- Definiert die Videoattribute. (G) Nr. 1–Nr. 9
sgr sa - set_hintergrund
- Hintergrundfarbe festlegen.
Setb Sb - Unterer Rand festlegen
- Veränderlichen Bottojm-Rand bei aktueller Zeile festlegen.
SMGB Zkstar name - Parameter 'set_bottom_margin_parm'
- Veränderlichen unteren Rand festlegen.
SMGBP ZL - Uhr festlegen
- Stellen Sie die Uhr ein.
Sklk SC - Farbpaar festlegen
- Farbpaar festlegen.
scp sp - Vordergrund festlegen
- Vordergrundfarbe festlegen.
Satz SF - Linksrand festlegen
- Veränderlichen linken Rand festlegen.
SMGL ML - Parameter 'set_left_margin_parm'
- Veränderlichen linken Rand festlegen.
Smglp Zm - Satzrechtsrand
- Veränderlichen rechten Rand festlegen.
Smgr MR - Parameter 'set_right_margin_parm'
- Veränderlichen rechten Rand festlegen.
SMTP-Gruppe ZN - set_tab
- Legt eine Registerkarte in jeder Zeile der aktuellen Spalte fest.
hts -ter - Oberer Rand festlegen
- Oberen Rand bei aktueller Zeile festlegen.
Smgt Zo - Parameter 'set_top_margin_parm'
- Veränderlichen oberen Rand festlegen.
SMGTP Zp - Fenster festlegen
- Gibt an, dass das aktuelle Fenster Zeilen #1-#2, Spalten #3-#4enthält. (G)
Wind Wi - Start_Bit_Image
- Drucken von Bitabbildgrafiken starten.
SBLOB Z - start_Zeichensatz_def
- Startdefinition eines Zeichensatzes.
SD Zr- - Stoppbit-Bild
- Drucken von Bitbildgrafiken beenden.
RBIM Z - Zeichensatzdefinition beenden
- Definition eines Zeichensatzes beenden.
RCSD Zt - Subskriptions-zeichen
- Liste der Zeichen, die im Index angezeigt werden können.
Subcs Zu - Hochgestellte Zeichen
- Liste der Zeichen, die hochgestellt werden können.
Supcs Zvstar name - Tabulator
- Tabulatortaste bis zum nächsten 8-Leerzeichen-Hardwaretabulatorstopp.
ht Ta - These_cause_cr
- Das Drucken dieser Zeichen führt zu einem Rücklauf.
Dokr Zwstar name - Signalton
- Wählen Sie die Tonwahl aus.
Signalton nach - Zu_Statuszeile
- Wechselt zur Statuszeile, Spalte #1. (G)
TL T - Unterstreichung_Zeichen
- Unterstrich ein Zeichen und bewegt sich darüber hinaus.
UC UC - up_half_linie
- Gibt hochgestellt an (umgekehrtes 1/2 Zeilenvorschubzeichen).
hu hu - user0
- Benutzerzeichenfolge 0.
u0 u0 - user1
- Benutzerzeichenfolge 1.
u1 u1 - user2
- Benutzerzeichenfolge 2.
u2 u2 - user3
- Benutzerzeichenfolge 3.
u3 u3 - user4
- Benutzerzeichenfolge 4.
u4 u4 - user5
- Benutzerzeichenfolge 5.
u5 u5 - user6
- Benutzerzeichenfolge 6.
u6 u6 - user7
- Benutzerzeichenfolge 7.
u7 u7 - user8
- Benutzerzeichenfolge 8.
u8 u8 - user9
- Benutzerzeichenfolge 9.
u9 u9 - Wait_Tone
- Warte auf Wählton.
Wat WA - xoff_zeichen
- X-off-Zeichen.
Xoffc XF - XON_Zeichen
- X-on-Zeichen.
XONC XN - Nullbewegung
- Keine Bewegung für das nachfolgende Zeichen.
Zerom Zxstar name
Beschreibungen vorbereiten
Sie können eine Terminalbeschreibung erstellen, indem Sie die Beschreibung eines ähnlichen Terminals kopieren und anschließend ändern. Sie können die Genauigkeit Ihrer Teilbeschreibungen mit dem Editor vi überprüfen. Einige Terminals können Fehler im Editor vi sowie Mängel in der Fähigkeit der Terminfo -Datenbank, eine Terminalbeschreibung bereitzustellen, aufdecken.
Setzen Sie zum Testen einer neuen Terminalbeschreibung die Umgebungsvariable TERMINFO (TERMINFO auf den Pfadnamen des Verzeichnisses, das die kompilierte Beschreibung enthält, an der Sie arbeiten. Programme überprüfen dann dieses Verzeichnis anstelle des Verzeichnisses /usr/share/lib/terminfo .
Gehen Sie wie folgt vor, um die korrekte Auffüllung zu testen (falls bekannt):
- Bearbeiten Sie die Datei /etc/passwd mit 9600 Baud.
- Löschen Sie etwa 16 Zeilen aus der Mitte der Anzeige.
- Drücken Sie die Taste u mehrmals schnell.Wenn das Terminal das Ergebnis nicht ordnungsgemäß anzeigen kann, ist normalerweise eine zusätzliche Auffüllung erforderlich. Sie können einen ähnlichen Test für Einfügezeichen durchführen.Anmerkung: Durch übermäßiges Auffüllen wird das Terminal verlangsamt.
Grundlegende Funktionen
In diesem Abschnitt werden einige grundlegende Terminalfunktionen beschrieben. Wenn ein Terminal eine dieser Funktionen unterstützt, wird dies im Quellendateieintrag Terminfo des Terminals angegeben. Die folgende Liste enthält eine Liste der Basisfunktionen:
| Element | Beschreibung |
|---|---|
| vormittags | Gibt an, dass der Cursor an den Anfang der nächsten Zeile bewegt wird, wenn er den rechten Rand erreicht. Diese Funktion gibt auch an, ob sich der Cursor über die rechte untere Ecke der Anzeige hinaus bewegen kann. |
| BEL | Erzeugt ein hörbares Signal (z. B. einen Signalton oder einen Signalton) |
| bw | Gibt an, dass ein Rückschritt vom linken Rand des Terminals den Cursor in die letzte Spalte der vorherigen Zeile verschiebt. |
| Inhalt löschen | Löscht die Anzeige und lässt den Cursor an der Ausgangsposition. |
| Spalten | Gibt die Anzahl der Spalten in jeder Zeile für das Terminal an |
| cr | Verschiebt den Cursor an die linke Kante der aktuellen Zeile. Dieser Code ist normalerweise ein Rücklauf (Strg-M). |
| cub1 | Bewegt den Cursor um eine Leertaste nach links (z. B. Rückschritt). |
| cuf1 | Bewegt den Cursor um eine Stelle nach rechts. |
| cuu1 | Bewegt den Cursor um eine Stelle nach oben |
| cud1 | Verschieben Sie den Cursor um eine Stelle nach unten. |
| HC | Gibt ein Druckterminal ohne Softcopy-Einheit an. Sie sollten auch die Funktion Betriebssystem angeben. |
| ind | Blättert Text nach oben. |
| LF | Gibt einen Zeilenvorschub an. |
| Zeilen | Gibt die Anzahl der Zeilen an einem CRT-Terminal (Kathodenstrahlröhre) an. |
| nel | Gibt einen Zeilenumbruch an. Das Terminal verhält sich so, als würde es einen Rücklauf gefolgt von einem Zeilenvorschub empfangen. |
| Betriebssystem | Gibt an, dass das Terminal das vorhandene Zeichen überschreibt, wenn ein Zeichen an einer Position angezeigt oder gedruckt wird, die bereits durch ein anderes Zeichen belegt ist, anstatt es durch das neue Zeichen zu ersetzen. Die Funktion Betriebssystem gilt für den Speicherbereich, das Drucken und APL -Terminals. |
| RI | Blättert Text abwärts. |
Wenn die Umgebungsvariablen LINES und COLUMNS festgelegt sind, überschreiben diese Variablen die Werte in der Terminfo -Datenbank.
Die lokalen Cursorbewegungen, die in den Terminfo -Datenbankdateien codiert sind, sind an den linken und oberen Kanten eines CRT-Terminals nicht definiert. Programme sollten niemals versuchen, den Rückschritt um die linke Kante herum durchzuführen (es sei denn, die Zeichenfolge BW wird angegeben) oder lokal von oben nach oben zu gehen.
Um Text nach oben zu blättern, sollte ein Programm in die linke untere Ecke des Bildschirms gehen und die Indexzeichenfolge senden. Um nach unten zu blättern, wechselt ein Programm in die linke obere Ecke der Anzeige und sendet die umgekehrte Indexzeichenfolge. Die Indexzeichenfolge wird durch die Funktion Ind und die umgekehrte Indexzeichenfolge durch die Funktion R angegeben. Die Indexzeichenfolge und die umgekehrte Indexzeichenfolge sind nicht definiert, wenn sie sich nicht in den entsprechenden Ecken der Anzeige befinden.
Die Funktion am bestimmt, ob der Cursor am rechten Rand der Anzeige bleibt, wenn Text ausgegeben wird. Dies gilt jedoch nicht unbedingt, wenn der Cursor von der letzten Spalte nach rechts verschoben wird (die Funktion cuf1 ). Ein Terminal hat nur dann eine lokale Bewegung von der linken Kante, wenn die Funktion BW definiert ist. Der Cursor springt dann zur rechten Kante der vorherigen Zeile, wenn er von der linken Kante nach links verschoben wird (die Funktion cub1 ). Wenn das Terminal nicht über die Funktion BW verfügt, ist der Effekt nicht definiert, was beispielsweise zum Zeichnen eines Kästchens um den Rand der Anzeige nützlich ist.
Ein Terminal verfügt über umschaltbare automatische Randeinstellungen, wenn die Funktion am angegeben ist. Wenn das Terminal über einen Befehl verfügt, der zur ersten Spalte der nächsten Zeile wechselt, können Sie die Nel -Funktion (Zeilenumbruch) definieren. Es spielt keine Rolle, ob der Befehl den Rest der aktuellen Zeile löscht. Wenn das Terminal über keine CR und Lfverfügt, kann ein funktionierendes Nel aus einem oder beiden erstellt werden.
33 | tty33 | tty | Model 33 Teletype
bel=^G, cols#72, cr=^M, cud1=^J, hc, ind=^J, os, xon,xxxx | x | xxxxxxxx,
am, bel=^G, clear=^Z, cols#80, cr=^M, cub1=^H, cud1=^J,
ind=^J, lines#24,Parametrisierte Zeichenfolgen
Cursoradressierung und andere Zeichenfolgen, die Parameter erfordern, werden durch parametrisierte Zeichenfolgefunktionen beschrieben. Diese Zeichenfolgen haben ähnliche Escapezeichenfolgen wie das Format printf %x . Um beispielsweise den Cursor zu adressieren, geben Sie die Funktion Tasse mithilfe der Zeilen-und Spaltenparameter an.
Zu den parametrisierten Funktionen gehören:
| Element | Beschreibung |
|---|---|
| cub1 | Setzt den Cursor um ein Leerzeichen zurück. |
| cup | Adressiert den Cursor mithilfe der Zeilen-und Spaltenparameter. Zeilen und Spalten werden beginnend mit 0 nummeriert und beziehen sich auf den physischen Bildschirm, der für den Benutzer sichtbar ist, und nicht auf den Speicher. |
| Hpa und VPA | Gibt an, dass der Cursor die absolute Cursoradressierung für Zeilen oder Spalten hat: absolute horizontale Position (Hpa) oder absolute vertikale Position (VPA). Manchmal sind die Funktionen Hpa und VPA kürzer als die allgemeinere Sequenz mit zwei Parametern und Sie können sie anstelle der Funktion Tasse verwenden. Parametrisierte lokale Bewegungen (z. B. eine Verschiebung von N -Bereichen nach rechts) werden mit den Funktionen Cud, Cub, Cufund Cuu definiert, wobei ein einzelner Parameter angibt, wie viele Bereiche verschoben werden sollen. Diese Funktionen sind vor allem nützlich, wenn das Terminal nicht über die Tasse -Funktionalität verfügt. |
| IndN und RN | Blättert im Text. Dies sind parametrisierte Versionen der grundlegenden Funktionen von Ind und R . Der Wert N ist eine Anzahl von Zeilen. |
| Mrcup | Gibt an, dass das Terminal eine speicherrelative Cursoradressierung hat. |
Der Parametermechanismus verwendet einen Stack und hat spezielle % -Codes (Prozentzeichen), um den Stack zu bearbeiten. Normalerweise überträgt eine Sequenz einen der Parameter auf den Stack und gibt ihn dann in einem bestimmten Format aus. Oft sind komplexere Operationen erforderlich. Die Codierungen haben folgende Bedeutung:
| Element | Beschreibung |
|---|---|
| %% | Gibt ein Prozentzeichen ( % ) aus. |
| % [:] Flags] [Breite [.Genauigkeit]] [doxXs] | Wie im Befehl printf sind Flags [- + # ] und Leerzeichen. |
| %d | Druckt pop () wie im Befehl printf (numerische Zeichenfolge aus Stack). |
| %2d | Druckt pop () wie %2d (mindestens zweistellige Ausgabe aus dem Stack). |
| %3d | Druckt pop () wie %3d (mindestens dreistellige Ausgabe aus dem Stack). |
| %02d | Druckt wie im Befehl printf (zweistellige Ausgabe). |
| %03d | Wird wie im Befehl printf ausgegeben (dreistellige Ausgabe). |
| %c | Druckt pop () gibt %c aus (Zeichenausgabe des Stacks) |
| %s | pop () gibt %s aus (Zeichenfolgeausgabe des Stacks). |
| %p [I] | Überträgt den I-ten Parameter auf den Stack, wobei I eine Zahl zwischen 1 und 9 ist |
| %P [a-z] | Setzt die Variable [a-z] auf pop () (Variablenausgabe aus dem Stack). |
| %g [a-z] | Ruft die Variable [a-z] ab und überträgt sie auf den Stack. |
| %' c' | Zeichenkonstante C. |
| %{nn} | Ganzzahlige Konstante Nn. |
| %l | Push strlen (pop ()) |
| % +%-% *%/%m | Arithmetische Operatoren (%m is modulus): push (pop () Operation pop ()). |
| %& %| %^ | Bitoperationen: push (pop () Operation pop ()) |
| %= %> %< | Logische Operationen: push (pop () Operation pop ()). |
| %! %~ | Monadische Operationen: push (Operation pop ()). |
| %i | Fügen Sie 1 zu den ersten beiden Parametern hinzu (für ANSI-Terminals). |
| %?expr %t thenpart %e elsepart%; | If-then-else %e Elsepart ist optional. Sie können ein else-if-Konstrukt wie bei Algol 68 im folgenden Beispiel erstellen, wobei Ci Bedingungen und Bi -Körper bezeichnet. |
Binäre Operationen befinden sich im Postfixformat mit den Operanden in der üblichen Reihenfolge. Das heißt, zu bekommenx - 5use%gx%{5}%-.
Wenn Sie das Flag-(Minuszeichen) mit%[doxXs], müssen Sie einen Doppelpunkt zwischen das Prozentzeichen (%) und das Minuszeichen (-) setzen, um die Markierung von der%-Binäroperation, z. B.%:-16.16s.
Betrachten Sie ein Terminal, das gesendet werden muss\E&a12c03Yfür 6 Millisekunden aufgefüllt, um zu Zeile 3 und Spalte 12 zu gelangen. Hier wird die Reihenfolge der Zeilen und Spalten invertiert und die Zeilen und Spalten werden mit Nullen aufgefüllt. Daher ist die Tasse -Funktionalität dieses Terminalscup=\E&a%p2%2.2dc%p1%2.2dY$<6>.
Ein letztes Beispiel ist ein Terminal, das Zeilen-und Spaltenoffset durch ein Leerzeichen verwendet:cup=\E=%p1%'\s'%+%c%p2'\s'%+%c. Nach dem Senden\E=Bei dieser Operation wird der erste Parameter mit Push-Operation übertragen, der ASCII-Wert für ein Leerzeichen (32) wird mit Push-Operation übertragen, addiert (anstelle der beiden vorherigen Werte wird die Summe auf den Stapel geschoben) und dieser Wert wird als Zeichen ausgegeben. Dann wird dasselbe für den zweiten Parameter ausgeführt. Komplexere Arithmetik ist mit dem Stack möglich.
Cursorbewegungen
Die linke obere Ecke der Anzeige ist die Ausgangsposition. Wenn das Terminal eine schnelle Möglichkeit hat, den Cursor an die Ausgangsposition zu bringen, geben Sie die Funktion Home an. Geben Sie mit der Funktion L eine schnelle Möglichkeit an, in die linke untere Ecke zu gelangen. Diese Methode kann das Hochfahren (cuu1) von der Ausgangsposition umfassen, aber ein Programm sollte dies nie selbst tun (es sei denn, L ), da der Effekt des Hochfahrens von der Ausgangsposition nach oben nicht sicher ist.
Wenn das Terminal über die Zeilen-oder Spaltenadressierung mit absolutem Cursor verfügt, müssen Sie die einzelne Hpa -Funktion (horizontale Position oben) und die VPA -Funktion (vertikale Position absolut) angeben. Manchmal sind diese kürzer als die allgemeinere Folge von zwei Parametern und Sie können sie anstelle der Funktion Tasse verwenden.
Wenn das Terminal beispielsweise über parametrisierte lokale Bewegungen verfügt, kann es die N -Leerzeichen des Cursors nach rechts verschieben. Sie können die Funktionen Cud, Cub, Cufund Cuu mit einem einzigen Parameter angeben, der angibt, wie viele Leerzeichen verschoben werden sollen. Diese Funktionen sind nützlich, wenn das Terminal nicht über die Funktion Tasse verfügt.
Bereichsfreigaben
Die folgenden Funktionen löschen große Bereiche des Terminals:
| Element | Beschreibung |
|---|---|
| ed | Löscht die aktuelle Position bis zum Ende der Anzeige. Dies wird nur aus der ersten Spalte einer Zeile definiert. (Daher kann es durch eine Anforderung simuliert werden, eine große Anzahl von Zeilen zu löschen, wenn kein Wert für T verfügbar ist.) |
| el | Löscht die aktuelle Cursorposition bis zum Ende der Zeile, ohne den Cursor zu bewegen. |
| el1 | Löscht den Inhalt vom Anfang der Zeile bis zur aktuellen Position (einschließlich) Der Cursor wird nicht versetzt. |
Blättern
Die folgenden Funktionen zum Einfügen und Löschen von Zeilen werden verwendet, um anzugeben, dass ein Terminal Folgendes ausführen kann:
| Element | Beschreibung |
|---|---|
| CSR | Ändern Sie den Bildlaufbereich. Diese Funktion verwendet zwei Parameter: die obere und untere Zeile des Bildlaufbereichs. Die oberste Zeile der Anzeige ist 0. Nach Verwendung dieser Funktion ist die Cursorposition nicht definiert. Siehe die Funktionen Sc und RC in diesem Abschnitt. |
| da | Anzeige über dem Bildschirm beibehalten. Wenn eine Zeile gelöscht oder in der Anzeige geblättert wird, können nicht leere Zeilen an den Anfang gestellt werden. Diese Funktionalität wird normalerweise für mehrseitige Terminals definiert. |
| db | Die Anzeige unter dem Bildschirm beibehalten. Wenn eine Zeile gelöscht wird oder die Anzeige rückwärts geblättert wird, kann das Terminal die nicht leeren Zeilen an das Ende bringen. Diese Funktionalität wird normalerweise für mehrseitige Terminals definiert. |
| dl1 | Löschen Sie die Zeile, in der sich der Cursor befindet. Dies erfolgt nur ab der ersten Position in der zu löschenden Zeile. Außerdem verwendet die Funktion Dl einen einzelnen Parameter, der die Anzahl der zu löschenden Zeilen angibt. |
| il1 | Erstellt eine neue leere Zeile vor der Zeile, in der sich der Cursor befindet, und blättert den Rest der Anzeige nach unten. Dies erfolgt nur ab der ersten Position einer Zeile. Der Cursor erscheint dann in der neu leeren Zeile. Außerdem kann die Funktion L einen einzelnen Parameter verwenden, der die Anzahl der einzufügenden Zeilen angibt. |
| ind | Index oder Vorwärtsblättern. Ein Terminal mit dieser Funktion kann die Anzeige um eine Zeile nach oben verschieben, indem die oberste Zeile gelöscht und unten eine leere Zeile hinzugefügt wird. |
| indn | Geben Sie die Anzahl der Zeilen an, um die vorwärts geblättert werden soll. Diese Funktion hat nur dann Bedeutung, wenn auch die Funktion Ind definiert ist. |
| rc | Stellen Sie den Cursor zurück. Diese Funktion ist mit den Funktionen von CSR und Sc nützlich. |
| RI | Umgekehrtes Blättern. Mit dieser Funktion kann das Terminal die Anzeige nach unten verschieben, indem es die untere Zeile löscht und oben eine leere Zeile hinzufügt. |
| Rinn | Geben Sie die Anzahl der Zeilen an, um die geblättert werden soll. Diese Funktion hat nur Bedeutung, wenn auch die Funktion R definiert ist. |
| sc | Speichern Sie den Cursor. Falls definiert, können Sie die Funktion Sc zum Speichern des Cursors verwenden, bevor Sie die Funktion CSR verwenden. Das Speichern des Cursors ist erforderlich, da die Cursorposition nach Verwendung der Funktion CSR nicht definiert ist. Mit der Funktion RC können Sie den Cursor an die Position zurückstellen, an der er sich befand, bevor Sie die Funktion CSR verwendet haben. |
| Wind | Gibt an, dass das Terminal ein Fenster als Teil des Speichers definieren kann. Dies ist eine parametrisierte Zeichenfolgefunktion mit vier Parametern: die Anfangs-und Endzeilen im Speicher und die Anfangs-und Endspalten im Speicher in dieser Reihenfolge. |
Ein Terminal, das über die Funktion CSR verfügt, kann einen Teil seiner Anzeige verschieben, während andere Zeilen über und unter dem Bereich unverändert bleiben. Bei einem Vorwärtsblättern, das auf einen Bereich angewendet wird, wird der Anfang des Bereichs gelöscht, verschoben und eine Zeile am Ende des Bereichs hinzugefügt. Wenn Sie mit dem Blätterbereich fertig sind, sollten Sie die Funktion CSR verwenden, um den Blätterbereich in der Gesamtanzeige wiederherzustellen.
Terminals, für die CSR definiert ist, verfügen über einen zerstörerischen Bildlaufbereich. Nachdem eine Zeile aus der Anzeige verschoben wurde, kann sie vom Terminal nicht mehr abgerufen werden. Ein Terminal mit einem nicht zerstörerischen Bildlaufbereich kann Bildlaufzeilen durch Umkehrung des Bildlaufes wiederherstellen. Wenn die Optionen Ind, R, Einrückung, Rinn, Dlund dl1 nicht alle das Blättern mit Löschen simulieren, geben Sie die Funktion CSR nicht an, wenn das Terminal über nicht zerstörerische Bildlaufbereiche verfügt.
Bei mehrseitigen Terminals kann das Blättern eine Zeile auf einer anderen Seite platzieren und das Blättern in die entgegengesetzte Richtung bringt die Zeile zurück. Das Löschen einer Zeile kann dazu führen, dass eine Zeile von einer anderen Seite auf dem Bildschirm angezeigt wird. Für Terminals mit mehreren Seiten sollten die Funktionen Da und Datenbank definiert sein, damit Programme, die Bildlauf verwenden, ihr Verhalten anpassen können.
Einige Terminals können ein Fenster als Teil des Speichers definieren. Für diese Terminaltypen wirken sich alle Befehle zum Löschen, Löschen, Einfügen und Umbrechen auf den Bereich im Speicher aus, in dem das Fenster definiert ist.
Zeichen einfügen oder löschen
Im Allgemeinen verarbeiten Terminals Operationen zum Einfügen/Löschen von Zeichen auf eine von zwei Arten. Die häufigsten Operationen zum Einfügen/Löschen von Zeichen betreffen nur die Zeichen in der aktuellen Zeile und verschieben Zeichen nach rechts und außerhalb der Zeile. Andere Terminals unterscheiden zwischen typisierten und nicht typisierten Leerzeichen in der Anzeige. Beim Einfügen eines Zeichens werden die angezeigten Daten verschoben und ein nicht typisiertes Leerzeichen wird eliminiert. Nachdem alle nicht eingegebenen Leerzeichen entfernt wurden, werden die angezeigten Daten in die nächste Zeile umgebrochen, wenn Sie mit dem Einfügen von Zeichen fortfahren. Beim Löschen eines Zeichens wird der Zeile ein nicht typisiertes Leerzeichen hinzugefügt, um das gelöschte Zeichen zu kompensieren.
Im Allgemeinen fügen Terminals Zeichen im Ein-oder Mehrzeilenmodus ein/aus. Die beiden Terminaltypen verarbeiten auch nicht typisierte Leerzeichen unterschiedlich. Der einzeilige Modus ist der gängigste Modus. Im einzeiligen Modus wirken sich Zeichenoperationen zum Einfügen/Löschen nur auf die Zeichen in der aktuellen Zeile aus. Einfügungen verschieben Zeichen nach rechts und außerhalb der Zeile.
Terminals im Mehrzeilenmodus können sich auf mehrere Zeilen auswirken. In diesem Modus unterscheidet das Terminal in der Anzeige zwischen typisierten und nicht typisierten Leerzeichen. Durch das Einfügen eines Zeichens in ein Mehrzeilenterminal werden die angezeigten Daten verschoben und nicht typisierte Leerzeichen werden entfernt. Werden alle nicht eingegebenen Leerzeichen entfernt und werden weiterhin Zeichen eingefügt, wird die Anzeige in die nächste Zeile umgebrochen. Beim Löschen eines Zeichens fügen mehrzeilige Terminals der Zeile ein nicht typisiertes Leerzeichen hinzu, um das gelöschte Zeichen zu kompensieren.
Terminaltyp Bestimmen
Durch Löschen einer Anzeige und anschließendes Eingeben von Text, der durch Cursorbewegungen getrennt ist, können Sie die Art der Einfüge-/Löschoperationen bestimmen, die Ihr Terminal ausführt. Löschen Sie die Anzeige und fahren Sie anschließend wie folgt fort:
- Typabc defVerwendung lokaler Cursorbewegungen, nicht Leerzeichen, zwischen denabcunddef.
- Positionieren Sie den Cursor vor demabc.
- Versetzen Sie das Terminal in den Einfügemodus.
- Geben Sie eine Textzeile ein. Wenn Ihre Eingabe dieabc defZeichen, um nach rechts zu verschieben und die rechte Seite der Anzeige zu verlassen, unterscheidet das Terminal nicht zwischen Leerzeichen und nicht eingegebenen Positionen.
Wenn dasabcbewegt sich zu Positionen direkt links von derdefund die Zeichen bewegen sich nach rechts in der Zeile, um das Ende herum, und in die nächste Zeile, das Terminal ist der zweite Typ. Dies wird durch die Funktion in beschrieben, die das Einfügen von null bedeutet.
Obwohl diese beiden Attribute (einzeiliger oder mehrzeiliger Einfügemodus und unterschiedliche Behandlung nicht typisierter Leerzeichen) logisch getrennt sind, gibt es keine bekannten Terminals, deren Einfügemodus nicht mit einem einzigen Attribut beschrieben werden kann.
Zeichenfunktionalität einfügen oder löschen
Die Terminfo -Datenbank beschreibt Terminals mit einem Einfügemodus sowie Terminals, die eine einfache Sequenz senden, um eine leere Position in der aktuellen Zeile zu öffnen. Folgende Funktionen werden zum Einfügen/Löschen von Zeichen verwendet:
| Element | Beschreibung |
|---|---|
| dch1 | Löscht ein einzelnes Zeichen. Die Funktion DCH mit einem Parameter, N, löscht N Zeichen. |
| ech | Ersetzt die angegebene Anzahl Zeichen ab dem Cursor durch Leerzeichen. Die Cursorposition bleibt unverändert. |
| ich1 | Öffnet ein Leerzeichen in einer Zeile für ein einzufügendes Zeichen. Diese Sequenz steht vor der eigentlichen Zeicheneinfügung. Terminals mit einem echten Einfügemodus würden diese Funktion nicht verwenden. |
| ip | Gibt an, dass ein Nachfüllen erforderlich ist. Dieser Wert wird in Millisekunden angegeben. Jede andere Sequenz, die nach dem Einfügen eines einzelnen Zeichens gesendet werden muss, kann in dieser Funktion angegeben werden. |
| Mir | Ermöglicht Cursorbewegung im Einfügemodus. Manchmal muss der Cursor im Einfügemodus bewegt werden, um Zeichen in derselben Zeile zu löschen. Einige Terminals verfügen möglicherweise aufgrund ihrer Handhabung des Einfügemodus nicht über diese Funktionalität. |
| RMDC | Beendet den Löschmodus. |
| Rmir | Beendet den Einfügemodus. |
| RMP | Gibt an, dass das Auffüllen zwischen Zeichen erforderlich ist, die eingegeben werden, wenn der Einfügemodus nicht aktiviert ist. Diese Funktion wird im Ersetzungsmodus verwendet. |
| SMDC | Wechselt in den Löschmodus. |
| Smir | Startet den Einfügemodus. |
Wenn Sie eine Terminfo -Beschreibung für ein Terminal erstellen, das einen Einfügemodus erfordert und vor jedem eingefügten Zeichen einen speziellen Code benötigt, definieren Sie die Funktionen Smir/RMRund ich1 . Die Funktion ich mit dem einzigen Parameter Nöffnet N Leerzeichen, sodass N Zeichen eingefügt werden können.
Hervorhebung, Unterstreichung und visuelle Zellen
Wenn Ihr Terminal über eine oder mehrere Anzeigeattribute verfügt, wie z. B. Hervorhebung, Unterstreichung und visuelle Glocken, können Sie diese auf verschiedene Arten darstellen. Die Hervorhebung, wie z. B. der Modus 'standout', stellt ein leicht lesbares Format mit hohem Kontrast dar, bei dem Fehlernachrichten und andere wichtige Nachrichten hervorgehoben werden. Unterstreichung ist eine weitere Methode, um die Aufmerksamkeit auf einen bestimmten Teil des Terminals zu lenken. Visuelle Glocken umfassen Methoden wie das Blinken des Bildschirms. Die folgenden Funktionen beschreiben Hervorhebungen, Unterstreichung und visuelle Glocken:
- blinken
- Gibt an, dass das Terminal über einen Blinkhervorhebungsmodus verfügt.
- fett
- Gibt an, dass das Terminal über einen besonders hellen Hervorhebungsmodus verfügt.
- Civis
- Macht den Cursor unsichtbar.
- CNorm
- Zeigt einen normalen Cursor an. Diese Funktion kehrt die Auswirkungen der Funktionen Civis und Cvvis um.
- Cvvis
- Macht den Cursor sichtbarer als normal, wenn er sich nicht in der untersten Zeile befindet
- abblenden
- Gibt an, dass das Terminal über halbhelle Hervorhebungsmodi verfügt.
- Eo
- Gibt an, dass Leerzeichen Überschläge löschen.
- Enacs
- Gibt eine Befehlszeichenfolge an, die den alternativen Zeichensatzmodus aktiviert. Einige Terminals können erst in den alternativen Zeichensatzmodus wechseln, wenn sie einen bestimmten Befehl empfangen. Die Funktion Enacs definiert den Befehl.
- blinken
- Gibt an, dass das Terminal eine Möglichkeit hat, das Blinken der Anzeige (als Signaltonersatz) für Fehler zu machen, ohne den Cursor zu bewegen.
- Invis
- Gibt an, dass das Terminal über den Hervorhebungsmodus für Leertext oder unsichtbaren Text verfügt.
- Msgr
- Gibt an, dass der Cursor sicher in den Standout-Modus versetzt werden kann. Andernfalls sollten Programme, die den Modus 'standout' verwenden, diesen Modus verlassen, bevor sie den Cursor bewegen oder eine neue Zeile senden. Einige Terminals verlassen automatisch den Standardmodus, wenn sie in eine neue Zeile wechseln oder wenn der Cursor adressiert wird.
- nrrmc
- Gibt an, dass die Sequenz Smcup die Anzeige nicht wiederherstellt, nachdem eine Sequenz RWM ausgegeben wurde. Dies bedeutet, dass Sie den Status der Anzeige vor der Ausgabe von RWMnicht wiederherstellen können.
- Betriebssystem
- Gibt an, dass das Terminal ein vorhandenes Zeichen überschreiben kann, ohne das Original zu löschen. Durch Überstreichung entsteht ein zusammengesetztes Zeichen.
- Prot
- Gibt an, dass das Terminal über den geschützten Textmodus verfügt. Dies bedeutet, dass das Terminal den Text vor Überschreiben oder Löschen schützt. Die Schutzmethode ist terminalabhängig.
- rev
- Gibt an, dass das Terminal über den Modus für Umkehranzeige verfügt.
- RMAC
- Beendet den alternativen Zeichensatzmodus.
- RMSO
- Beendet den Standout-Modus.
- Rmul
- Beendet die Unterstreichung.
- sgr
- Stellt eine Sequenz zum Festlegen beliebiger Kombinationen von Attributen bereit. Die Funktion SGR kann neun Attribute festlegen. Diese Attribute sind in der angegebenen Reihenfolge:
- Standout
- Unterstreichung
- blinken
- abblenden
- fett
- leer
- schützen
- Alternativer Zeichensatz
Um einen Modus zu aktivieren, setzen Sie ihn auf einen Wert ungleich null. Um einen Modus auszuschalten, setzen Sie ihn auf 0. Die Funktion SGR kann nur die Modi unterstützen, für die auf dem Terminal bereits separate Funktionen vorhanden sind.
- sgr0
- Aktiviert alle Sondermodi, einschließlich des alternativen Zeichensatzes.
- SMACs
- Wechselt in den alternativen Zeichensatzmodus.
- smcup und rmcup
- Gibt an, dass sich das Terminal in einem Sondermodus befinden muss, wenn ein Programm ausgeführt wird, das Hervorhebungs-, Unterstreichung-oder visuelle Signaltonfunktionen verwendet. Die Funktion Smcup wechselt in diesen Modus und die Funktion RWM beendet diesen Modus.
Dieser Bedarf ergibt sich beispielsweise bei Terminals mit mehr als einer Speicherseite. Wenn das Terminal nur eine speicherrelative Cursoradressierung und keine anzeigenrelative Cursoradressierung hat, muss ein Fenster mit Anzeigegröße im Terminal fixiert werden, damit die Cursoradressierung ordnungsgemäß funktioniert. Dieser Wert wird auch verwendet, wenn die Funktion Smcup das Befehlszeichen festlegt, das von der Terminfo -Datenbankdatei verwendet werden soll.
- SMSO
- Wechselt in den Standout-Modus.
- Schlepper
- Unterstreichung beginnt.
- UC
- Unterstreicht das aktuelle Zeichen und versetzt den Cursor um ein Leerzeichen nach rechts.
- UL
- Gibt an, dass das Terminal unterstrichene Zeichen korrekt generiert (ohne erforderliche Sondercodes), auch wenn es nicht überschrieben wird.
- Xmc
- Gibt die Anzahl der verbleibenden Leerzeichen an, wenn die Funktion zum Wechseln in den Standout-Modus oder zum Verlassen des Standout-Modus Leerzeichen auf dem Bildschirm belässt.
Hervorhebung, Überstreichung und Unterstreichung
Sie sollten eine Anzeigemethode als Standardmodus auswählen und sie verwenden, um Fehlernachrichten und andere Arten von Text hervorzuheben, auf die Sie aufmerksam machen möchten. Sie könnten beispielsweise "Umkehr-Video" plus "Halbhell" oder "Umkehr-Video" allein auswählen. Die Sequenzen für den Eintritt in den und das Verlassen des Standout-Modus werden durch die Funktionen SMSO und RMSO angegeben. Wenn der Code zum Wechseln in den oder aus dem Standout-Modus einen oder sogar zwei Leerzeichen in der Anzeige belässt, sollte Xmc angegeben werden, um anzugeben, wie viele Leerzeichen übrig bleiben.
Sie sollten die boolesche Funktion Ul angeben, wenn Ihr Terminal unterstrichene Zeichen generiert, indem Sie das Unterstreichungszeichen ohne Sondercodes verwenden. Sie sollten diese Funktion angeben, auch wenn das Terminal Zeichen nicht anderweitig überschreibt. Geben Sie für Terminals, bei denen ein Zeichen, das ein anderes Zeichen überschreibt, beide Zeichen in der Anzeige belässt, die Funktion Betriebssystem an. Wenn das Terminal Überschläge mit einem Leerzeichen löschen kann, geben Sie dies durch Angabe der Funktion Eo an.
Beispiel für die Verwendung der Funktion 'sgr'
Das folgende Beispiel veranschaulicht, wie die Funktion SGR zum Aktivieren verschiedener Modi verwendet wird. Angenommen, Sie müssen ein Terminal definieren, für das die folgenden Escapezeichenfolgen erforderlich sind, um verschiedene Modi zu aktivieren:
| Terminfo, Parameter | Modus | Escapezeichenfolge |
|---|---|---|
| keine | \E[0m | |
| p1 | Standout | \E[0;4;7m |
| p2 | Unterstreichung | \E[0;3m |
| p3 | Umkehranzeige | \E[0;4m |
| p4 | blinken | \E[0;5m |
| p5 | abblenden | \E[0;7m |
| p6 | fett | \E[0;3:4m |
| p7 | Invis | \E[0;8m |
| p8 | schützen | nicht verfügbar |
| p9 | Altzeichensatz | ^O(aus)^N(ein) |
Sie können einige Modi simulieren, indem Sie andere kombinieren. In diesem Beispiel ist die Escapezeichenfolge für das Attribut Standout eine Kombination der Sequenzen Umkehren und Dim . Außerdem ist im Beispiel die Sequenz Fett eine Kombination aus den Sequenzen Umkehren und Unterstreichen . Um solche Modi wie Unterstreichen und Blinkenzu kombinieren, wäre die zu verwendende Reihenfolge\E[0;3;5m.
Sie können bestimmte Modi nicht simulieren, indem Sie andere kombinieren. Sie können beispielsweise den Modus Schützen nicht simulieren. In diesem Beispiel ignoriert das System den Parameter p8 . Der Modus Altzeichensatz unterscheidet sich dadurch, dass er entweder ^ O oder ^ Nist, je nachdem, ob der alternative Zeichenmodus aktiviert oder inaktiviert ist. Wenn alle Modi aktiviert wären, würde die Sequenz wie folgt aussehen:\E[0;3;4;5;7;8m^N.
Einige Sequenzen werden für einen oder mehrere Modi ausgegeben. Beispiel:;3 isausgegeben, wenn entweder der Parameter p2 oder der Parameter p6 auf 'true' gesetzt ist. Wenn Sie die oben genannten Sequenzen zusammen mit ihren Abhängigkeiten ausschreiben, ergibt sich Folgendes:
| Sequenz | Ausgabezeitpunkt | terminfo-Übersetzung |
|---|---|---|
| \E[0 | always | \E[0 |
| ;3 | wenn p2 oder p6 | %?%p2%p6%|%t;3%; |
| ;4 | wenn p1 oder p3 oder p6 | %?%p1%p3%|%p6%|%t;4%; |
| ;5 | wenn p4 | %?%p4%t;5%; |
| ;7 | wenn p1 oder p5 | %?%p1%p5%|%t;7%; |
| ;8 | wenn p7 | %?%p1%t;8%; |
| m | always | m |
| ^N or ^O | if p9 ^ N, else ^ O | %?%p9%t^N%e^O%; |
Das Endergebnis würde eine SGR -Sequenz erzeugen, die wie folgt aussieht:
sgr=\E[0%?%p2%p6%|%t;3%;%?%p1%p3%|%p6%|%t;4%;%?%p4%t;5;%?%p1%p5%|
%t;7%;%?%p1%t;8%;m%?%p9%t^N%e^O%;,Tastenblock
Wenn das Terminal über einen Tastenblock verfügt, der Codes überträgt, wenn die Tasten gedrückt werden, können Sie dies im Eintrag Terminfo für das Terminal definieren. Es ist nicht möglich, Terminals zu verarbeiten, bei denen der Tastenblock nur im lokalen Modus funktioniert. Wenn der Tastenblock so eingestellt werden kann, dass er übertragen oder nicht übertragen wird, geben Sie diese Codes als SMKX und Rmkxan. Andernfalls wird angenommen, dass die Tastatur immer sendet.
Verwenden Sie die Funktionen kcub1, kcuf1, kcud1und Khome , um die Codes zu definieren, die von den Links-, Rechts-, Aufwärtspfeil-, Abwärtspfeil und Ausgangstasten gesendet werden. Wenn Funktionstasten wie F0, F1, ... vorhanden sind, F63können die Codes, die sie senden, als kf0, kf1, ..., kf63 -Funktionen. Wenn die ersten elf Schlüssel andere Kennsätze als die Standardkennsätze F0 bis F10haben, können Sie die Kennsätze mit lf0, lf1, ..., lf10 -Funktionen. Die von bestimmten anderen Sondertasten übertragenen Codes können wie folgt definiert werden:
| Element | Beschreibung |
|---|---|
| KB | Rückschritttaste. |
| KCLR | Löschtaste oder Löschtaste. |
| kctab | Löschen Sie den Tabulatorstopp in dieser Spalte. |
| kdch1 | Löschzeichenschlüssel. |
| kdl1 | Löschzeilenschlüssel. |
| Ked | Bis zum Ende der Anzeige löschen. |
| Kel | Bis Zeilenende löschen. |
| Khts | Legen Sie in dieser Spalte einen Tabulatorstopp fest. |
| kich1 | Zeichen einfügen oder Einfügemodus aktivieren. |
| kil1 | Zeile einfügen. |
| Art | Blättern Sie vorwärts und/oder abwärts. |
| Kll | Taste 'Nach unten' (in diesem Fall ist 'Home' die linke untere Ecke der Anzeige). |
| Krmir | Einfügemodus verlassen. |
| knp | Nächste Seite. |
| Kpp | Vorherige Seite. |
| Ktbc | Taste zum Löschen aller Registerkarten. |
| RI | Blättern Sie vor und/oder nach oben. |
Wenn der Tastenblock über ein Array von drei x drei Tasten mit den vier Pfeiltasten verfügt, geben Sie außerdem die anderen fünf Tasten als ka1, ka3, kb2 kc1und kc3an. Diese Tasten sind nützlich, wenn Sie die Effekte eines Drei-zu-Drei-Richtungsblocks benötigen.
Zeichenfolgen, die Funktionstasten programmieren, können als Funktionstaste-, Pfloc-und Pfx -Funktionalität angegeben werden. Eine Zeichenfolge zum Programmieren der veränderlichen Anzeigenbezeichnungen kann als Plnangegeben werden. Jede dieser Zeichenfolgen verwendet zwei Parameter: die Funktionstastennummer für das Programm (von 0 bis 10) und die Zeichenfolge, mit der sie programmiert werden soll. Funktionstastennummern außerhalb dieses Bereichs können nicht definierte Tasten terminalabhängig programmieren. Die Funktionalität unterscheidet sich dadurch, dass Funktionstaste bewirkt, dass das Drücken einer bestimmten Taste dem Benutzer entspricht, der die angegebene Zeichenfolge eingibt, Pfloc bewirkt, dass die Zeichenfolge vom Terminal im lokalen Modus ausgeführt wird, und Pfx bewirkt, dass die Zeichenfolge an den Computer übertragen wird. Die Funktionen NLab, LWund LH definieren die Anzahl der Softlabels sowie Breite und Höhe. Verwenden Sie Smln und Rmln , um die Befehle zum Aktivieren und Inaktivieren von Softlabels anzugeben. Smln wird normalerweise nach einer oder mehreren Pln -Sequenzen ausgegeben, um sicherzustellen, dass die Änderung sichtbar wird.
Registerkarten und Initialisierung
Wenn das Terminal über Hardwareregisterkarten verfügt, können Sie mithilfe der Ht -Funktion (normalerweise Strg-I) den Befehl zum Fortfahren mit dem nächsten Tabulatorstopp angeben. Verwenden Sie die Funktion cbt , um den Befehl anzugeben, der nach links zum vorherigen Tabulatorstopp bewegt werden soll. Wenn die Terminalmodi angeben, dass das Betriebssystem die Registerkarten erweitert, anstatt sie an das Terminal zu senden, sollten Programme die Funktionen Ht oder cbt nicht verwenden, auch wenn sie vorhanden sind, da der Benutzer die Tabulatorstopps möglicherweise nicht ordnungsgemäß festgelegt hat.
Wenn das Terminal über Hardwareregisterkarten verfügt, die anfänglich alle N Leerzeichen festgelegt werden, wenn das Terminal eingeschaltet wird, sollte seine Terminfo Beschreibung die numerische Funktion definieren Es , um die Anzahl der Leerzeichen anzuzeigen, auf die die Tabulatoren gesetzt sind. Normalerweise verwendet der Befehl TPUT-Initialisierung den Parameter Es , um festzulegen, ob der Modus für die Erweiterung der Hardwareregisterkarte und die Tabulatorstopps festgelegt werden sollen. Wenn das Terminal Tabulatorstopps hat, die im nicht flüchtigen Speicher gespeichert werden können, kann die Terminfo -Beschreibung davon ausgehen, dass sie ordnungsgemäß festgelegt sind.
Weitere ähnliche Funktionen sind die Initialisierungszeichenfolgen is1, is2und is3 für das Terminal, die Iprog -Funktion, die das Initialisierungsprogramm des Terminals angibt, und die Wenn -Funktion, die den Namen einer Datei mit langen Initialisierungszeichenfolgen angibt. Es wird erwartet, dass diese Zeichenfolgen das Terminal in Modi setzen, die mit dem Rest der Terminfo -Dateibeschreibung konsistent sind. Sie werden normalerweise jedes Mal, wenn sich der Benutzer anmeldet, vom Befehl TPUT-Initialisierung an das Terminal gesendet. Wenn sich der Benutzer anmeldet, führt das System Folgendes aus:
- Führt das Programm Iprog aus
- Druckt is1.
- Drucken Sie is2.
- Legt die Ränder mithilfe der Funktionen Mgc, SMGLund Smgr fest.
- Legt die Registerkarten mithilfe der Funktionen Tbc und HTS fest.
- Druckt die Datei Wenn .
- Druckt is3.
Sie können spezielle Terminalmodi einrichten, ohne Zeichenfolgen zu duplizieren, indem Sie die allgemeinen Sequenzen in die Funktion is2 und Sonderfälle in die Funktionen is1 und is3 aufnehmen. Um Sequenzen anzugeben, die eine härtere Zurücksetzung von einem völlig unbekannten Status ausführen, geben Sie die Funktionen rs1, rs2, rs3und RF an, die mit den Funktionen is1, is2, is3und Wenn identisch sind.
Einige Terminals verwenden die Dateien Wenn und RF . Es wird jedoch empfohlen, die Initialisierungs-und Rücksetzzeichenfolgen zu verwenden. Diese Zeichenfolgen werden vom Befehl tput zurücksetzen ausgegeben. Dieser Befehl wird verwendet, wenn das Terminal sich seltsam verhält oder überhaupt nicht antwortet. Befehle werden normalerweise nur dann in die Funktionen rs1, rs2, rs3 und RF eingefügt, wenn sie störende Auswirkungen auf die Anzeige haben und bei der Anmeldung nicht erforderlich sind. Beispielsweise wäre der Befehl zum Festlegen des Terminals in den 80-Spalten-Modus normalerweise Teil von is2, aber er verursacht ein störendes Anzeigeverhalten und ist nicht erforderlich, da die meisten Terminals im 80-Spalten-Modus initialisiert werden.
Wenn es Befehle zum Festlegen und Löschen von Tabulatorstopps gibt, geben Sie sie mit den Funktionen Tbc (alle Tabulatorstopps löschen) und HTS (Tabulatorstopp in der aktuellen Spalte jeder Zeile definieren) an. Wenn eine komplexere Sequenz zum Festlegen der Registerkarten erforderlich ist, platzieren Sie die Sequenz in der Funktion is2 oder Wenn .
Die Funktion Mgc kann eine beliebige Marge löschen. Weitere Informationen zum Festlegen und Löschen von Randeinstellungen finden Sie in Randeinstellungen.
Verschiedene Zeichenfolgen
Wenn das Terminal ein anderes Zeichen als ein Nullzeichen als Auffüllung erfordert, geben Sie die Zeichenfolge Block an. Es wird nur das erste Zeichen der Zeichenfolge Block verwendet. Wenn ein Terminal kein Füllzeichen enthält, geben Sie die Funktion NPC an.
Wenn das Terminal eine halbe Linie nach oben oder unten verschieben kann, definieren Sie die Funktionen HU (halbe Linie nach oben) und HD (halbe Linie nach unten). Diese Funktionen sind in erster Linie für Hoch-und Tiefstellungen auf Hardcopy-Terminals nützlich. Wenn ein Hardcopy-Terminal die nächste Seite (Formularvorschub) ausgeben kann, geben Sie die Funktion Ff (normalerweise Strg-L) an.
Wenn ein Befehl vorhanden ist, um ein bestimmtes Zeichen mehrmals zu wiederholen (um Zeit für die Übertragung einer großen Anzahl identischer Zeichen zu sparen), kann dies mit der parametrisierten Zeichenfolge Rep angegeben werden. Der erste Parameter ist das Zeichen, das wiederholt werden soll, und der zweite Parameter gibt die Anzahl der Wiederholungen an. So folgt:
tparm(repeat_char,'x',10) ist identisch mit
xxxxxxxxxx Wenn das Terminal über ein festlegbares Befehlszeichen wie Tektronix 4025 verfügt, geben Sie dies mit der Funktion Cmdch an. Es wird ein Prototyp-Befehlszeichen ausgewählt, das in allen Funktionen verwendet wird. Dieses Zeichen wird in der Funktion Cmdch angegeben, um es zu identifizieren. Wenn auf einigen UNIX -Systemen die Umgebungsvariable CC vorhanden ist, werden alle Vorkommen des Prototypzeichens durch das Zeichen in der Variablen CC ersetzt.
Terminalbeschreibungen, die keine bestimmte Art von bekannten Terminals wie Switch, Wählverbindung, Patch und Netz darstellen, sollten die (generische) Funktionalität von Gn enthalten. Diese Funktion ermöglicht Programmen, Fehler zurückzugeben, wenn sie nicht mit dem Terminal kommunizieren können. Die Funktion Gn gilt nicht für Beschreibungen virtueller Terminals, für die die Escapezeichenfolgen bekannt sind. Wenn ein Terminal vom virtuellen Terminalprotokoll des UNIX -Systems unterstützt wird, verwenden Sie die Funktion VT , um seine Terminalnummer zu definieren.
Wenn ein Terminal Xon-/Xoff-Handshakeverfahren für die Ablaufsteuerung verwendet, sollte seine Beschreibung die Funktion Xon enthalten. Sie sollten auch Füllinformationen einschließen, damit Routinen bessere Entscheidungen über Kosten treffen können. Tatsächliche Füllzeichen werden jedoch nicht übertragen. Verwenden Sie die Funktionen Smxon und rmxon , um Sequenzen zum Aktivieren und Inaktivieren des Handshakeverfahrens von Xon-/xoff anzugeben. Wenn die für das Handshakeverfahren verwendeten Zeichen nicht ^ S und ^ Q sind, verwenden Sie die Funktionen XONC und Xoffc , um sie zu definieren.
Wenn ein Terminal über eine Metataste verfügt, die als Umschalttaste dient, um das achte Bit eines übertragenen Zeichens festzulegen, identifizieren Sie den Schlüssel mit der Funktion Km . Andernfalls geht die Software davon aus, dass das achte Bit Parität ist, und es wird normalerweise gelöscht. Wenn Zeichenfolgen vorhanden sind, um diesen Metamodus ein-und auszuschalten, können sie als die Funktionen Smm und RMM angegeben werden.
Wenn ein Terminal mehr Speicherzeilen hat, als auf die Anzeige passen, verwenden Sie die Funktion Lm , um die Anzahl der Speicherzeilen zu definieren. Der Wert lm#0 gibt an, dass die Anzahl der Zeilen nicht festgelegt ist, aber dass noch mehr Zeilen des Speichers vorhanden sind, als in die Anzeige passen.
Medienkopierzeichenfolgen, die einen Zusatzdrucker steuern, der mit dem Terminal verbunden ist, sind mit den folgenden Funktionen gekennzeichnet:
| Element | Beschreibung |
|---|---|
| mc0 | Druckt den Inhalt der Anzeige |
| mc4 | Schaltet den Drucker aus und |
| mc5 | Schaltet den Drucker ein. Wenn der Drucker eingeschaltet ist, wird der gesamte an das Terminal gesendete Text an den Drucker gesendet. Es ist nicht definiert, ob der Text auch in der Terminalanzeige angezeigt wird, wenn der Drucker eingeschaltet ist. |
| mc5p | Lässt den Drucker für eine angegebene Anzahl von Zeichen eingeschaltet und schaltet dann den Drucker aus. Der an mc5p übergebene Parameter darf 255 nicht überschreiten. |
Wenn die Terminalanzeige den Text nicht anzeigt, wenn der Drucker eingeschaltet ist, geben Sie die mc5i -Funktion an, um einen unbeaufsichtigten Drucker zu kennzeichnen. Der gesamte Text, einschließlich mc4, wird transparent an den Drucker übergeben, während ein mc5p wirksam ist.
Statuszeilen
Mithilfe des Eintrags Terminfo können Sie angeben, dass das Terminal über eine zusätzliche Statuszeile verfügt, die normalerweise nicht von der Software verwendet wird. Wenn die Statuszeile als zusätzliche Zeile unter der untersten Zeile angezeigt wird und der Cursor normal adressiert werden kann, sollte die Funktion Hs angegeben werden. Spezielle Zeichenfolgen zum Anfang der Statuszeile und zum Zurückkehren aus der Statuszeile können als TL -bzw. Fsl -Funktionalität angegeben werden. ( Fsl muss die Cursorposition an derselben Stelle belassen, an der sie sich vor TLbefand. Falls erforderlich, können die Zeichenfolge Sc und die Zeichenfolge RC in TL und Fsl eingeschlossen werden, um diesen Effekt zu erzielen. Die Funktion TL verwendet einen Parameter, der die Spaltennummer der Statuszeile ist, in die der Cursor versetzt werden soll.
Wenn Escapezeichenfolgen und andere Sonderbefehle wie Tabulatoren in der Statuszeile funktionieren, geben Sie die Funktion Eslok an. Eine Zeichenfolge, die die Statuszeile inaktiviert (oder ihren Inhalt auf andere Weise löscht), sollte als DSLangegeben werden. Wenn das Terminal über Befehle zum Sichern und Wiederherstellen der Cursorposition verfügt, geben Sie sie als Sc -und RC -Funktionalität an. Für die Statuszeile wird normalerweise angenommen, dass sie dieselbe Breite hat wie der Rest der Anzeige, z. B. Spalten. Wenn die Statuszeile eine andere Breite hat (möglicherweise weil das Terminal das Laden einer ganzen Zeile nicht zulässt), kann die Breite in Spalten mit dem numerischen Parameter WSDL-Element angegeben werden.
Liniengrafik
Wenn das Terminal einen alternativen Zeichensatz für die Linienzeichnung hat, geben Sie die Zuordnung von Glyphe zu Zeichen in der ACSC -Funktion an. Die Definition dieser Zeichenfolge basiert auf dem alternativen Zeichensatz, der im DEC VT100 -Terminal verwendet wird, geringfügig erweitert mit einigen Zeichen aus dem AT&T4410v1 -Terminal. Definieren Sie die Zeichenfolge wie folgt:
| Glyphenname | vt100+ Zeichen |
|---|---|
| nach rechts weisender Pfeil | + |
| Pfeil nach links | , |
| nach unten zeigender Pfeil | . |
| Vollquadratischer Block | 0 |
| Laternensymbol | I |
| nach oben zeigender Pfeil | - |
| diamond | ' |
| Scheckbrett (Stipple) | a |
| Gradsymbol | f |
| Plus-oder Minuszeichen | g |
| Quadrattafel | h |
| untere rechte Ecke | j |
| obere rechte Ecke | k |
| obere linke Ecke | l |
| untere linke Ecke | m |
| plus | n |
| Scanzeile 1 | o |
| horizontale Linie | q |
| Scanzeile 9 | s |
| Linkes T-Shirt | t |
| Rechter Tee | u |
| Unteres T-Shirt | v |
| Oberes T-Shirt | w |
| vertikale Linie | x |
| Listenpunktmarkierung | ~ |
Die beste Möglichkeit, die Liniengruppe eines neuen Terminals zu beschreiben, besteht darin, der obigen Tabelle eine dritte Spalte mit den Zeichen für das neue Terminal hinzuzufügen, die die entsprechende Glyphe erzeugen würden, wenn sich das Terminal im alternativen Zeichensatzmodus befindet. Beispiel:
glyph name vt100 tty
character character upper left corner l R lower left corner m F upper right corner k T lower right corner j G horizontal line q , vertical line x . Anschließend geben Sie die Funktion ACSC an, indem Sie die Zeichen von links nach rechts wie folgt angeben:
acsc=lRmFkTjGq\,x.Farbmanipulation
Es gibt zwei Methoden zur Farbmanipulation: die HP-Methode und die Tektronix-Methode. Die meisten vorhandenen Farbterminals gehören zu einer dieser beiden Klassen. Die Tektronix-Methode verwendet eine Gruppe vordefinierter N -Farben (in der Regel 8), aus denen ein Benutzer Aktuell -Vordergrund-und Hintergrundfarben auswählen kann. Daher kann das Terminal bis zu N Farben gemischt in N*N -Farbpaare unterstützen, die gleichzeitig auf dem Bildschirm angezeigt werden.
Die HP-Methode verhindert, dass der Benutzer den Vordergrund unabhängig vom Hintergrund oder den Hintergrund unabhängig vom Vordergrund definiert. Stattdessen muss der Benutzer ein vollständiges Farbpaar auf einmal definieren. Auf diese Weise können bis zu M Farbpaare aus 2 *M verschiedenen Farben definiert werden.
Die numerischen Variablen Farben und Paare definieren die Anzahl der Farben und Farbpaare, die das Terminal gleichzeitig auf dem Bildschirm anzeigen kann. Wenn ein Terminal die Definition einer Farbe ändern kann, sollten Sie die Funktion Ccc angeben. Um die Definition einer Farbe mit der Tektronix-Methode zu ändern, verwenden Sie die Funktion InitC . Diese Funktion erfordert vier Parameter: eine Farbzahl von 0 bis colors-1 und drei RGB-Werte (Rot, Grün, Blau) von 0 bis 1.000.
Um den aktuellen Vordergrund und Hintergrund auf eine bestimmte Farbe zu setzen, verwenden Sie die Funktionen Satz und Setb . Diese Funktionen erfordern einen einzelnen Parameter, der die Nummer der Farbe angibt. Um die HP-Methode zum Initialisieren eines Farbpaars zu verwenden, verwenden Sie die Funktion Initialisierung . Diese Funktion erfordert sieben Parameter:
- die Nummer des Farbpaares im Bereich von 0 bis Paare -1
- Drei RGB-Werte für den Vordergrund
- Drei RGB-Werte für den Hintergrund
Wenn Sie die Funktionen InitC oder Initialisierung verwenden, stellen Sie sicher, dass Sie die Werte in der Reihenfolge Rot, Grün, Blau bzw. Farbton, Helligkeit, Sättigung angeben. Verwenden Sie die Funktion Scp , um ein Farbpaar als aktuell zu definieren. Diese Funktion verwendet einen Parameter, die Nummer des Farbpaars.
Einige Terminals löschen Bereiche der Anzeige mit der aktuellen Hintergrundfarbe. Definieren Sie in solchen Fällen die Funktion BCE . Die Funktion Op enthält eine Sequenz zum Festlegen des Vordergrunds und der Hintergrundfarben auf das, was sie zum Zeitpunkt des Terminalstarts waren. In ähnlicher Weise enthält die Funktion OC eine Steuersequenz zum Festlegen aller Farben oder -Paare auf die Werte, die sie zum Zeitpunkt des Terminalstarts hatten.
Einige Farbterminals ersetzen Videoattribute durch Farbe. Solche Videoattribute sollten nicht mit Farben kombiniert werden. Sie sollten Informationen zu diesen Videoattributen in die Funktion Ncv packen. Zwischen den neun niedrigstwertigen Bits dieser Variablen und den Videoattributen besteht eine Eins-zu-eins-Entsprechung. Die folgende Tabelle enthält Informationen zu dieser Korrespondenz:
| Attribut | NCV-Bitnummer |
|---|---|
| A_HERAUSRAGEN | 0 |
| A_UNTERSTRICHEN | 1 |
| A_UMGEKEHRT | 2 |
| A_BLINK | 3 |
| A_DIM | 4 |
| A_BOLD | 5 |
| A_INVIS@info:nach | 6 |
| A_SCHÜTZEN | 7 |
| A_ALTCHARSET | 8 |
Wenn ein bestimmtes Videoattribut nicht mit Farben verwendet werden soll, sollte das entsprechende Ncv -Bit auf 1 gesetzt werden. Andernfalls setzen Sie das Bit auf 0. Wenn das Terminal beispielsweise Farben zur Simulation von Umkehranzeige und Fettdruck verwendet, sollten die Bits 2 und 5 auf 1 gesetzt werden. Die Ergebniswerte für Ncv sind 22.
Sonderfälle
Einige Terminals erfordern spezielle Unterstützung durch die Terminfo -Datenbank. Diese Terminals sind nicht mangelhaft. Diese Terminals verfügen über Hardware, die sich geringfügig von dem unterscheidet, was die Terminfo -Datenbank von den meisten Terminals erwartet. Einige der Sonderfälle werden in diesem Abschnitt erläutert. Das Programmiererhandbuch für ein Terminal sollte alle Informationen enthalten, die Sie zum Codieren einer Terminfo -Beschreibung für das Terminal benötigen.
Verwenden Sie für Terminals, die das Tildezeichen (~) nicht zulassen, die Funktion HZ .
Beschreibungen von Terminals, die ein Zeilenvorschubzeichen unmittelbar nach einem am -Umlauf ignorieren, sollten die Funktion Xenl enthalten. Die Terminals, deren Cursor in der Spalte ganz rechts verbleibt, bis ein weiteres Zeichen empfangen wird, anstatt sofort nach Empfang des Zeichens ganz rechts zu umbrechen, sollten ebenfalls die Funktion Xenl verwenden.
Wenn die El -Funktionalität erforderlich ist, um das Standout zu entfernen (anstatt lediglich normalen Text darüber zu schreiben), sollten Sie die XPS -Funktionalität angeben.
Terminals, bei denen Tabulatoren alle verschobenen Zeichen in Leerzeichen ändern, sollten die Xt -Funktion (zerstörerische Tabulatoren) angeben. Diese Funktion wird so interpretiert, dass es nicht möglich ist, den Cursor auf die Blöcke zu setzen, die für den Standout-Modus eingefügt wurden. Stattdessen ist es erforderlich, den Standout-Modus durch Löschen und Einfügen der Zeile zu löschen.
Ein Terminal, das die ESC-Zeichen (Escapezeichen) oder die Strg-C-Zeichen nicht ordnungsgemäß übertragen kann, sollte die Funktion XSD angeben, die angibt, dass die Taste F1 für ESC und die Taste F2 für Strg-C verwendet wird.
Weitere spezifische Terminalprobleme können durch Hinzufügen weiterer Funktionen behoben werden.
Ähnliche Terminals
term-nl | Terminal smkx@, rmkx@, use=termDefiniert ein Terminal, das weder über die Funktion SMKX noch über die Funktion Rmkx verfügt, und aktiviert daher die Funktionstastenbezeichnungen im visuellen Modus nicht. Dies ist für verschiedene Terminalmodi oder für verschiedene Benutzervorgaben nützlich. Sie können mehrere verwenden -Funktionen angeben.
Druckerfunktionalität
Mit der Terminfo -Datenbank können Sie die Funktionalität von Druckern und Terminals definieren. Um herauszufinden, welche Funktionen sowohl für Drucker als auch für Terminals verfügbar sind, siehe die beiden Listen unter Kassenfunktionen, in denen die Funktionen nach Variablen und nach Funktionsnamen aufgelistet sind.
Rundungswerte
Da die Funktionen für parametrisierte Zeichenfolgen nur mit ganzzahligen Werten funktionieren, wird empfohlen, dass Terminfo -Designer Zeichenfolgen erstellen, die gerundete numerische Werte erwarten. Programmierer sollten Werte immer auf die nächste Ganzzahl runden, bevor sie mit einer parametrisierten Zeichenfolgefunktion verwendet werden.
Druckerauflösung
Die Auflösung eines Druckers ist der kleinste Abstand von Zeichen, den er erreichen kann. Im Allgemeinen haben Drucker eine unabhängige Auflösung horizontal und vertikal. Um die vertikale Auflösung eines Druckers zu bestimmen, messen Sie den kleinsten erreichbaren Abstand zwischen aufeinanderfolgenden Druckgrundlinien. Um die horizontale Auflösung zu bestimmen, messen Sie den kleinsten erreichbaren Abstand zwischen den linken Rändern aufeinanderfolgender gedruckter, identischer Zeichen.
Die Terminfo -Datenbank geht davon aus, dass alle Drucker mit einer gleichmäßigen horizontalen und vertikalen Auflösung drucken können. Die Terminfo -Datenbank interagiert derzeit mit Druckern, als ob sie in einer einheitlichen Matrix gedruckt würden. Alle Zeichen werden an festen Positionen relativ zu jeder Zelle in der Matrix gedruckt. Darüber hinaus hat jede Zelle dieselbe Größe wie die kleinste horizontale und vertikale Schrittweite, die durch die Auflösung vorgegeben ist.
Viele Drucker können proportional drucken, wobei der horizontale Abstand von der Größe des letzten gedruckten Zeichens abhängt. Die Terminfo -Datenbank nutzt diese Funktionalität nicht, obwohl sie genügend Funktionsdefinitionen bereitstellt, damit eine Anwendung das proportionale Drucken simulieren kann.
Ein Drucker muss nicht nur in der Lage sein, Zeichen so nahe zusammen zu drucken, wie die horizontale und vertikale Auflösung vorschlagen, sondern auch zu einer Position zu bewegen, die ein ganzzahliges Vielfaches des kleinsten Abstands von einer vorherigen Position ist. So können gedruckte Zeichen einen Abstand voneinander haben, der ein ganzzahliges Vielfaches des kleinsten Abstands bis zur Länge der Breite einer einzelnen Seite ist.
Einige Drucker können je nach verschiedenen Modi unterschiedliche Auflösungen haben. Im normalen Modus wird davon ausgegangen, dass die vorhandenen Terminfo -Funktionen wie ein Videoterminal an Spalten und Zeilen funktionieren. Die alte Funktion Zeilen gibt beispielsweise die Länge einer Seite in Zeilen an und die Funktion Spalten gibt die Breite einer Seite in Spalten an. Im Mikroversion -Modus arbeiten viele Terminfo -Funktionen in Inkrementen von Zeilen und Spalten. Bei einigen Druckern kann der Modus Mikroversion gleichzeitig mit dem Modus Normal vorhanden sein, sodass alle Funktionen gleichzeitig funktionieren.
Druckerauflösung angeben
Sie können die Druckauflösung eines Druckers mit verschiedenen Funktionen angeben. Jede Funktion gibt den Abstand auf unterschiedliche Weise an. Die folgenden Funktionen definieren die Druckauflösung:
| Funktionalität | Definiert als |
|---|---|
| Orhi | Schritte pro Zoll horizontal |
| Orvi | Schritte pro Zoll vertikal |
| ORC | Schritte pro Spalte |
| Orl | Schritte pro Zeile |
Beim Drucken im normalen Modus führt jedes gedruckte Zeichen dazu, dass der Drucker zur nächsten Spalte wechselt, außer in den später beschriebenen Sonderfällen. Der Abstand, der verschoben wird, entspricht der Auflösung pro Spalte. Einige Drucker bewirken eine automatische Bewegung in die nächste Zeile, wenn ein Zeichen ganz rechts gedruckt wird. Der vertikale Abstand, der verschoben wird, entspricht der Auflösung pro Linie. Beim Drucken im Mikromodus können diese Abstände unterschiedlich sein und bei einigen Druckern null sein. Im Folgenden wird die automatische Bewegung der Druckerauflösung nach dem Drucken angegeben:
| Funktionalität | Definiert als |
|---|---|
| ORC | Schritte horizontal im normalen Modus verschoben. |
| Orl | Schritte wurden im normalen Modus vertikal verschoben. |
| MCS | Schritte horizontal im Mikromodus verschoben. |
| MLS | Schritte vertikal im Mikromodus verschoben. |
Einige Drucker können Breitzeichen drucken. Der Abstand, der verschoben wird, wenn ein Breitzeichen im normalen Modus gedruckt wird, kann sich von dem Abstand unterscheiden, in dem ein Zeichen mit normaler Breite gedruckt wird. Der Abstand, der bewegt wird, wenn ein Breitzeichen im Mikromodus gedruckt wird, kann sich auch von dem Abstand unterscheiden, wenn ein reguläres Zeichen im Mikromodus gedruckt wird, aber die Unterschiede werden als verwandt angenommen.
Wenn der Abstand, der für ein reguläres Zeichen verschoben wird, im normalen Modus oder Mikromodus identisch ist (MCS=Ocs), ist der Abstand, der für ein breites Zeichen verschoben wird, auch in beiden Modi identisch. Dies bedeutet nicht, dass der normale Zeichenabstand notwendigerweise mit dem breiten Zeichenabstand identisch ist, nur dass sich die Abstände bei einer Änderung vom normalen Modus in den Mikromodus nicht ändern. Verwenden Sie die Funktion Widcs , um die Druckerauflösung anzugeben, wenn die automatische Bewegung nach dem Drucken eines Breitzeichens im normalen oder Mikromodus identisch ist.
Wenn der Abstand, der für ein reguläres Zeichen verschoben wird, im Mikromodus von dem Abstand abweicht, der im Normalmodus verschoben wird (mcs <Orc), kann davon ausgegangen werden, dass der Abstand im Mikromodus für ein Breitzeichen, das im Mikromodus gedruckt wird, gleich ist. In diesem Fall verwenden Sie die Funktion MCS , um den verschobenen Abstand anzugeben. Der Drucker verwendet den Wert, den Sie für reguläre und breite Zeichen angeben.
Ein Drucker kann Steuerfolgen verwenden, um die Anzahl der Spalten pro Zoll (Zeichendichte) und die Anzahl der Zeilen pro Zoll (Zeilendichte) zu ändern. Wenn diese verwendet werden, ändert sich die Auflösung des Druckers, aber die Art der Änderung hängt vom Drucker ab.
| Funktionalität | Definiert als |
|---|---|
| cpi | Zeichendichte ändern. |
| Cpix | Wenn Wettbewerbspreisindex festgelegt ist, wird Orhigeändert. Andernfalls ändert die Funktion Wettbewerbspreisindex den Wert für Orc . |
| lpi | Zeilenabstand ändern |
| Lpix | Wenn diese Option festgelegt ist, ändert Lpi den Wert Orvi , andernfalls wird der Wert Orl geändert. |
| Chr | Ändert Schritte pro Spalte. |
| CVR | Ändert Schritte pro Zeile. |
Die Zeichenfolgefunktionen Wettbewerbspreisindex und Lpi verfügen über ein einzelnes Argument, die Zeichendichte in Spalten (oder Zeichen) bzw. Zeilen pro Zoll. Die Chr -Funktionalität und die CVR -Zeichenfolgefunktionen verfügen jeweils über ein einzelnes Argument, die Anzahl der Schritte pro Spalte bzw. Zeile.
Die Verwendung einer der Steuersequenzen in diesen Zeichenfolgen impliziert eine Änderung einiger Werte der Funktionen Orc, Orhi, Orlund Orvi . Außerdem ändert sich der Abstand, der verschoben wird, wenn ein Breitzeichen gedruckt wird (angegeben durch die Funktion Widcs ), in Bezug auf den Wert Orc . Der Abstand, der verschoben wird, wenn ein Zeichen im Mikromodus MCSgedruckt wird, ändert sich ähnlich, mit einer Ausnahme: Wenn der Abstand 0 oder 1 ist, wird keine Änderung angenommen.
Programme, die die Funktion cpi, lpi, chr oder cvr verwenden, sollten die Druckerauflösung neu berechnen und andere Werte neu berechnen. Weitere Informationen finden Sie unter Auswirkungen der Änderung der Druckauflösung .

Vcpi, Vlpi, Vchr und Vcvr sind die Argumente, die mit Wettbewerbspreisindex, Lpi, Chrbzw. CVR verwendet werden. Das Dolchsymbol gibt den alten Wert an.
Funktionen, die Bewegung verursachen
In den folgenden Beschreibungen bezieht sich Bewegung auf die Bewegung der aktuelle Position. Bei Videoterminals wäre dies der Cursor; bei manchen Druckern ist dies die Vorschubposition. Andere Drucker haben unterschiedliche Entsprechungen. Im Allgemeinen ist die aktuelle Position die Position, an der ein Zeichen angezeigt wird, wenn es gedruckt wird.
Die Terminfo -Datenbank verfügt über Zeichenfolgefunktionen für Steuersequenzen, die eine Reihe von vollständigen Spalten oder Zeilen verschieben. Es verfügt auch über äquivalente Zeichenfolgefunktionen für Steuersequenzen, die eine Reihe kleiner Schritte zum Verschieben verursachen. Im Folgenden sind die Zeichenfolgefunktionen für Bewegungen aufgeführt:
| Funktionalität | Beschreibung |
|---|---|
| mcub1 | 1 Schritt nach links verschieben. |
| mcuf1 | 1 Schritt nach rechts verschieben. |
| mcuu1 | 1 Schritt nach oben. |
| mcud1 | 1 Schritt nach unten verschieben. |
| Mcub | N Schritte nach links verschieben. |
| Mcuf | Verschieben Sie die N -Schritte nach rechts. |
| Mcuu | Verschieben Sie die N -Schritte nach oben. |
| Mcud | Verschieben Sie die N -Schritte nach unten. |
| MHPA | Verschieben Sie die N -Schritte von links. |
| Mvpa | Verschieben Sie die N -Schritte von oben. |
Die letzten sechs Zeichenfolgen werden jeweils mit einem einzigen Argument N verwendet.
Manchmal ist die Bewegung auf weniger als die Breite oder Länge einer Seite begrenzt. Außerdem akzeptieren einige Drucker keine absolute Bewegung links von der aktuellen Position. Die folgenden Funktionen begrenzen die Bewegung:
| Funktionalität | Beschreibung |
|---|---|
| MJump | Begrenzt die Verwendung der Funktionen mcub1, mcuf1, mcuu1und mcud1 . |
| Maddr | Begrenzt die Verwendung der Funktionen MHPA und Mvpa . |
| Xhpa | Wenn festgelegt, werden die Funktionen Hpa und MHPA negiert. |
| XVPA | Wenn festgelegt, werden die Funktionen VPA und Mvpa negiert. |
Wenn sich ein Drucker in Mikromodus befinden muss, damit die Bewegungsfunktionalität funktioniert, können Sie eine Zeichenfolgefunktion definieren, die die Steuersequenz für den Eintritt in den Mikromodus und den Austritt aus dem Mikromodus enthält. Ein boolescher Wert ist für Drucker verfügbar, bei denen die Verwendung eines Rücklaufs eine automatische Rückkehr in den normalen Modus bewirkt. Die folgenden Funktionen beziehen sich auf das Mikromodusverhalten:
| Funktionalität | Beschreibung |
|---|---|
| Smicm | Geben Sie den Mikromodus ein. |
| RMicm | Beenden Sie den Mikromodus. |
| Crxm | Wenn Sie den von der Funktion CR angegebenen Schlüssel verwenden, wird der Mikromodus beendet. |
Die Bewegung, die ausgeführt wird, wenn ein Zeichen in der Position ganz rechts gedruckt wird, variiert je nach Drucker. Einige machen keine Bewegung, andere bewegen sich an den Anfang der nächsten Zeile, andere bewegen sich an den Anfang derselben Zeile. Die Terminfo -Datenbank verfügt über boolesche Funktionen, die alle drei Fälle beschreiben. Die Funktion Sam gibt an, dass der Drucker automatisch an den Anfang derselben Zeile verschoben wird, nachdem das Zeichen am rechten Rand gedruckt wurde.
Einige Drucker können in einen Modus versetzt werden, in dem die normale Bewegungsrichtung umgekehrt wird. Dieser Modus ist besonders nützlich, wenn keine Funktionen für Linksbewegung oder Aufwärtsbewegung vorhanden sind. Diese Funktionen können aus den Funktionen für Bewegungsumkehr und Rechtsbewegung oder Abwärtsbewegung erstellt werden. Es ist am besten, es einer Anwendung zu überlassen, die linke oder aufsteigende Funktionalität zu erstellen, und sie nicht in die Terminfo -Datenbank einzugeben. Dadurch können mehrere Rückwärtsbewegungen aneinandergereiht werden, ohne dazwischenliegende vergeudete Schritte, die den Rückwärtsmodus verlassen und wieder in den Rückwärtsmodus wechseln. Die folgenden Funktionen steuern das Aufrufen und Beenden des Umkehrmodus:
| Funktionalität | Beschreibung |
|---|---|
| Slm | Umgekehrtes Gefühl von horizontalen Bewegungen. |
| RLM | Sinn für horizontale Bewegungen wiederherstellen. |
| sum | Umgekehrtes Gefühl von vertikalen Bewegungen. |
| Rum | Sinn für vertikale Bewegungen wiederherstellen. |
Die folgenden Funktionen wirken sich auf die Anzeige aus, während die horizontalen Bewegungen umgekehrt werden:
| Funktionalität | Beschreibung |
|---|---|
| mcub1 | 1 Schritt nach rechts verschieben. |
| mcuf1 | 1 Schritt nach links verschieben. |
| Mcub | Verschieben Sie die N -Schritte nach rechts. |
| Mcuf | N Schritte nach links verschieben. |
| cub1 | 1 Spalte nach rechts verschieben. |
| cuf1 | 1 Spalte nach links verschieben. |
| cub | N -Spalten nach rechts verschieben. |
| cuf | N Spalten nach links verschieben. |
Die folgenden Funktionen wirken sich auf die Anzeige aus, während die vertikalen Bewegungen umgekehrt werden:
| Funktionalität | Beschreibung |
|---|---|
| mcuu1 | 1 Schritt nach unten verschieben. |
| mcud1 | 1 Schritt nach oben. |
| Mcuu | Verschieben Sie die N -Schritte nach unten. |
| Mcud | Verschieben Sie die N -Schritte nach oben. |
| cuu1 | Eine Zeile nach unten verschieben. |
| cud1 | 1 Zeile nach oben verschieben |
| cuu | N Zeilen nach unten verschieben. |
| cud | Verschieben Sie N -Zeilen nach oben. |
Der Umkehrbewegungsmodus sollte sich nicht auf die Funktionen für absolute Bewegung Mvpa und MHPA auswirken. Der Modus für vertikale Bewegung sollte jedoch auch die Aktion der Zeile Umbruch umkehren, die auftritt, wenn ein Zeichen an der ganz rechten Position gedruckt wird. Drucker, für die die Terminfo Standardfunktion am definiert ist, sollten daher zum Anfang der vorherigen Zeile wechseln, wenn ein Zeichen an der Position ganz rechts gedruckt wird und sich der Drucker im Modus für umgekehrte vertikale Bewegung befindet.
Die Aktion, wenn andere Bewegungsfunktionen in Umkehrbewegungsmodi verwendet werden, ist nicht definiert. Daher müssen Programme die Umkehrbewegungsmodi verlassen, bevor sie andere Bewegungsfunktionen verwenden.
Zwei verschiedene Funktionen vervollständigen die Liste der neuen Bewegungsfunktionen: Dokr und Zerom . Die Funktion Dokr stellt eine Liste von Steuerzeichen bereit, die einen Rücklauf verursachen. Diese Funktion ist für Drucker hilfreich, die die aktuelle Position an den Anfang einer Zeile verschieben, wenn bestimmte Steuerzeichen wie Zeilenvorschub oder Formularvorschub verwendet werden. Die Funktion Zerom verhindert die automatische Bewegung nach dem Drucken eines einzelnen Zeichens. Diese Funktion setzt die Bewegung aus, die normalerweise nach dem Drucken eines Zeichens auftritt.
Randeinstellungen
Die Terminfo -Datenbank stellt zwei Zeichenfolgen zum Festlegen von Randeinstellungen für Terminals bereit: eine für den linken und eine für den rechten Rand. Drucker haben jedoch zwei zusätzliche Ränder für den oberen und unteren Rand jeder Seite. Darüber hinaus erfordern einige Drucker nicht die Verwendung von Bewegungszeichenfolgen, um die aktuelle Position auf einen Rand zu verschieben und den Rand dort zu fixieren, wie bei vorhandenen Funktionen, sondern erfordern die Angabe, wo ein Rand unabhängig von der aktuellen Position sein soll. Daher bietet die Terminfo -Datenbank sechs zusätzliche Zeichenfolgen zum Definieren von Randeinstellungen mit Druckern. Die folgenden Funktionen wirken sich auf die Ränder aus:
| Funktionalität | Definition |
|---|---|
| SMGL | Legt den linken Rand für die aktuelle Spalte fest. |
| Smgr | Rechten Rand an der aktuellen Spalte festlegen. |
| SMGB | Den veränderlichen unteren Rand an der aktuellen Zeile festlegen. |
| Smgt | Legt den veränderlichen oberen Rand für die aktuelle Zeile fest. |
| SMGBP | Legen Sie den veränderlichen unteren Rand bei Zeile Nfest. |
| Smglp | Legen Sie den veränderlichen linken Rand bei Spalte Nfest. |
| SMTP-Gruppe | Legen Sie den veränderlichen rechten Rand in Spalte Nfest. |
| SMGTP | Setzen Sie den veränderlichen oberen Rand bei Zeile N. |
Alle Ränder können mit der Funktion Mgc gelöscht werden.
Schatten, Kursivschrift, Breitzeichen, Hoch-und Tiefstellen
Es werden fünf neue Gruppen von Zeichenfolgen verwendet, um die Funktionalität zu beschreiben, mit der Drucker gedruckten Text erweitern können. Im Folgenden werden erweiterte Druckfunktionen definiert:
| Funktionalität | Definition |
|---|---|
| Sshm | In den Spiegeldruckmodus wechseln. |
| RSHM | Beenden Sie den Spiegeldruckmodus. |
| Sitm | In den Kursivmodus wechseln. |
| Ritm | Beenden Sie den Kursivmodus. |
| Swidm | Geben Sie den Breitzeichenmodus ein. |
| Rwidm | Verlassen Sie den Breitzeichenmodus. |
| Ssupm | Hochgestellten Modus aktivieren. |
| RSUPM | Superscript-Modus beenden. |
| Supcs | Liste der als hochgestellte Zeichen verfügbaren Zeichen. |
| ssubm | Wechseln Sie in den Indexmodus. |
| RSUBM | Beenden Sie den Indexmodus. |
| Subcs | Liste der als Subskripte verfügbaren Zeichen. |
Wenn ein Drucker die Steuersequenz Sshm vor jedem Zeichen benötigt, das spiegelgedruckt werden soll, bleibt die Zeichenfolge RSHM leer. Daher sollten Programme, die eine Steuersequenz in Sshm finden, aber keine im Spiegeldruckmodus, die Steuersequenz verwenden, die von der Sshm -Funktion angegeben wird, vor jedem Zeichen, das spiegelgedruckt werden soll. Andernfalls sollte die Steuersequenz einmal vor der Gruppe von Zeichen verwendet werden, die spiegelgedruckt werden sollen, gefolgt vom Verlassen des Spiegeldruckmodus.
Die Terminfo -Datenbank verfügt auch über eine Funktion zum Drucken von Text in Fettdruck, die Funktion Fett . Während Schattendruck und emboldened Druck insofern ähnlich sind, als sie den Text verdunkeln, erzeugen viele Drucker diese beiden Arten von Druck auf leicht unterschiedliche Weise. Im Allgemeinen wird das Drucken in Fettdruck ausgeführt, indem das gleiche Zeichen ein-oder mehrmals überschrieben wird. Der Schattendruck ist ebenfalls meist überschlagend, aber mit einer leichten Bewegung nach oben und/oder zur Seite, so dass der Charakter fetter ist.
Es wird angenommen, dass erweiterte Druckmodi unabhängige Modi sind, so dass es beispielsweise möglich wäre, kursiv gedruckte Subskripte zu spiegeln.
Wie bereits erwähnt, sollte die Bewegungsmenge, die automatisch nach dem Drucken eines breiten Zeichens erfolgt, in der Funktion Widcs angegeben werden.
Wenn nur ein Teil der druckbaren ASCII-Zeichen als hoch-oder tiefgestellte Zeichen gedruckt werden kann, sollten sie in den Funktionen Supcs bzw. Subcs aufgelistet werden. Wenn die Zeichenfolgen Ssupm oder ssubm Steuerfolgen enthalten, die entsprechenden Zeichenfolgen Supcs oder Subcs jedoch leer sind, wird davon ausgegangen, dass alle druckbaren ASCII-Zeichen als hoch-oder tiefgestellte Zeichen verfügbar sind.
Es wird davon ausgegangen, dass die automatische Bewegung nach dem Drucken eines hoch-oder tiefgestellten Zeichens mit der für reguläre Zeichen identisch ist. Das Drucken der folgenden Elemente führt beispielsweise zu einer äquivalenten Bewegung:
Bi Bi Bi Die boolesche Funktion Msgr beschreibt, ob eine Anwendung Bewegungssteuerungssequenzen verwenden kann, während sie sich im Abstandmodus befindet. Diese Funktion wurde erweitert, um die hier hinzugefügten erweiterten Druckmodi abzudecken. Die MGSR -Funktionalität sollte für die Drucker festgelegt werden, die beliebige Bewegungssteuerungssequenzen akzeptieren, ohne dass dies Auswirkungen auf das Spiegeln, das Kursivdruck, das erweiterte Drucken, das Hoch-oder Tiefdruckverfahren hat. Wenn die Funktion MGSR nicht festgelegt ist, sollte ein Programm diese Modi beenden, bevor eine Bewegung versucht wird.
Alternative Zeichensätze
Mit der Terminfo -Datenbank können Sie nicht nur Liniengrafiken definieren, sondern auch alternative Zeichensätze definieren. Die folgenden Funktionen umfassen Drucker und Terminals mit mehreren auswählbaren oder definierbaren Zeichensätzen:
| Funktionalität | Definition |
|---|---|
| scs | Wählen Sie den Zeichensatz Naus. Der Parameter N gibt eine Zahl von 0 bis 63 an, die einen Zeichensatz angibt. |
| SD | Startdefinition des Zeichensatzes N, M Zeichen. Der Parameter N gibt eine Zahl zwischen 0 und 63 an, die einen Zeichensatz angibt, und der Parameter M gibt die Anzahl der Zeichen im Zeichensatz an. |
| Defc | Definiert ein Zeichen A mit einer Breite von B Punkten mit einem Abstieg D. Der Parameter A ist die ASCII-Codedarstellung für das Zeichen. Der Parameter B gibt die Breite des Zeichens in Punkten an. Der Parameter D gibt an, ob das Zeichen ein Nachkommen ist oder nicht. Wenn das Zeichen ein Nachkommen ist, geben Sie 1 für den D -Parameter an. Geben Sie andernfalls 1 an. Auf diese Zeichenfolge folgt eine Zeichenfolge mit Imagedatenbytes, die beschreiben, wie das Zeichen aussieht. |
| RCSD | Enddefinition des Zeichensatzes N Der Parameter N gibt eine Zahl von 0 bis 63 an, die einen Zeichensatz angibt. |
| csnm | Liste der Zeichensatznamen. |
| Daisy | Gibt an, dass der Drucker die Typenräder manuell geändert hat. |
Zeichensatz 0 ist der Standardzeichensatz. Dies ist die Gruppe, die nach der Initialisierung des Druckers vorhanden ist. Nicht jeder Drucker unterstützt 64 Zeichensätze. Wenn Sie eine Gruppe angeben, die ein Drucker nicht unterstützt, gibt die Subroutine Parameter ein Nullergebnis zurück.
Wenn Ihre Anwendung ein Zeichen definieren muss, bevor sie es verwendet, verwenden Sie die SD -Steuersequenz, bevor Sie den Zeichensatz definieren, und die RCSD danach. Wenn Sie einen ungültigen Zeichensatz für eine dieser Funktionen angeben, gibt die Subroutine Parameter eine Nullauflösung zurück. Wenn Ihre Anwendung einen Zeichensatz auswählen muss, nachdem er definiert wurde, sollte die Steuersequenz Scs der Steuersequenz RCSD folgen. Durch Untersuchung der Ergebnisse der Verwendung jeder der Zeichenfolgen Scs, SDund RCSD mit einer Zeichensatznummer in einem Aufruf an die Subroutine Parameter kann ein Programm ermitteln, welche der drei Zeichenfolgen erforderlich sind.
Zwischen der Verwendung der Zeichenfolgen SD und RCSD sollte die Zeichenfolge Defc verwendet werden, um jedes Zeichen zu definieren. Zum Drucken von Zeichen auf Druckern, die in der Terminfo -Datenbank definiert sind, wird ASCII cod an den Drucker gesendet. Dies gilt sowohl für Zeichen in einer alternativen Gruppe als auch für Normal Zeichen. Daher enthält die Definition eines Zeichens den ASCII-Code, der es darstellt. Außerdem enthält die Breite des Zeichens den ASCII-Code, der es darstellt. Außerdem wird die Breite des Zeichens in Punkten angegeben, zusammen mit der tan-Angabe, ob es sich bei dem Zeichen um einen Abstieg handelt. Ein Abstieg ist ein Zeichen, dessen Form sich unterhalb der Grundlinie erstreckt, z. B. das Zeichen g ist ein Abstieg. Die Breite des Zeichens ist Punkte und gibt auch die Anzahl der Abbilddatenbyte an, die auf die Zeichenfolge Defc folgen. Diese Bilddatenbyte geben an, wo in einem Punktmatrixmuster Tinte auf Zeichnen das Zeichen angewendet werden soll. Die Anzahl dieser Bytes und ihre Form sind unten unter "Dot-Mapped Graphics" definiert.
Es ist am einfachsten, wenn der Ersteller von Terminfo -Einträgen auf jeden Zeichensatz nach Nummer verweist. Diese Zahlen sind jedoch für den Anwendungsentwickler bedeutungslos. Die Funktion csnm verringert dieses Problem, indem Namen für jede Zahl angegeben werden.
Bei Verwendung mit einer Zeichensatznummer in einem Aufruf der Subroutine Parameter erzeugt die Funktion csnm den entsprechenden Namen. Verwenden Sie diese Namen nur als Referenz. Es wird keine Namenskonvention impliziert, obwohl jeder Benutzer, der einen Terminfo -Eintrag für einen Drucker erstellt, Namen verwenden sollte, die mit den Namen in Benutzerdokumenten für den Drucker konsistent sind. Anwendungsentwickler sollten es einem Benutzer ermöglichen, einen Zeichensatz nach Nummer anzugeben (wobei es dem Benutzer überlassen bleibt, die Zeichenfolge csnm zu untersuchen, um die richtige Nummer zu bestimmen) oder nach Namen, wobei die Anwendung die csnm -Funktion untersucht, um die entsprechende Zeichensatznummer zu bestimmen.
Die alternativen Zeichensatzfunktionen werden wahrscheinlich nur bei Punktmatrixdruckern verwendet. Wenn sie nicht verfügbar sind, definieren Sie diese Zeichenfolgen nicht. Für Drucker, die manuell Typenräder oder Schriftartkassetten geändert haben, legen Sie die boolesche Funktion Daisy fest.
Dot-Matrix-Grafiken
Dot-Matrix-Drucker haben in der Regel die Möglichkeit, Rastergrafiken zu reproduzieren. Drei neue numerische Funktionen und drei neue Zeichenfolgefunktionen können einem Programm helfen, Rastergrafiken zu zeichnen, unabhängig vom Typ des Punktmatrixdruckers oder der Anzahl der Stifte oder Punkte, die der Drucker gleichzeitig verarbeiten kann. Die Funktionen der Punktmatrix lauten wie folgt:
| Funktionalität | Definition |
|---|---|
| Npins | Anzahl der Stifte N im Druckkopf. Der Parameter N gibt die Anzahl der Pins an. |
| Spinv | Abstand von Stiften vertikal in Stiften pro Zoll |
| Spinh | Abstand von Punkten horizontal in Dots per Inch. |
| Porder | Gleicht Softwarebits mit Druckkopfpins ab. |
| SBLOB | Drucken von Bitbildgrafiken starten, B Bit breit. Der Wert für B gibt die Breite des Bilds in Punkten an. |
| RBIM | Drucken von Bitbildgrafiken beenden. |
Das Modell der Punktmatrix oder Rastergrafik, das die Terminfo -Datenbank darstellt, ähnelt dem für die meisten Punktmatrixdrucker verwendeten Verfahren. Bei jedem Durchgang des Druckkopfs wird davon ausgegangen, dass er eine Punktmatrix erzeugt, die N Punkte hoch und B Punkte breit ist. Dies ist in der Regel ein breites, besetztes Rechteck mit Punkten. Die Höhe dieses Rechtecks in Punkten variiert von Drucker zu Drucker. Dies wird in der numerischen Funktion von Npins angegeben. Die Größe des Rechtecks in Bruchteilen von einem Zoll variiert ebenfalls. Die Größe kann aus den numerischen Funktionen Spinv und Spinh abgeleitet werden. Mit diesen drei Werten kann eine Anwendung ein vollständiges Rastergrafikbild in mehrere horizontale Streifen unterteilen, vielleicht interpolieren, um unterschiedliche Punktabstände vertikal und horizontal zu berücksichtigen.
Die Funktionen SBLOB und RBIM werden zum Starten bzw. Beenden eines Punktmatrixbilds verwendet. Die Funktion SBLOB wird mit einem einzigen Argument verwendet, das die Breite der Punktmatrix angibt. Eine Folge von Abbilddatenbyte wird nach der Funktion SBLOB und vor der Zeichenfolge RBIM an den Drucker gesendet. Die Anzahl Byte ist ein ganzzahliges Vielfaches der Breite der Punktmatrix. Das Vielfache und die Form jedes Byte wird durch die Porder -Funktion bestimmt, die nachfolgend beschrieben wird.
Die Funktion Porder ist eine durch Kommas getrennte Liste mit PIN-Nummern. Die Position jeder Stiftnummer in der Liste entspricht einem Bit in einem Datenbyte. Die Stifte sind fortlaufend von 1 bis Npinsnummeriert, wobei 1 der obere Stift ist. Der Begriff Pin wird hier lose verwendet. Tintenstrahl-Punktmatrixdrucker haben keine Pins, aber sie haben eine äquivalente Methode, einen einzelnen Punkt Tinte auf Papier aufzutragen. Die Bitpositionen in Porder sind in Gruppen von 8, wobei die erste Position in jeder Gruppe das höchstwertige Bit und die letzte Position das niedrigstwertige Bit ist.
Die Bilddatenbytes werden aus dem Punktmatrixbild berechnet, wobei die vertikalen Punktpositionen in jedem Druckkopf in 8-Bit-Bytes abgebildet werden, wobei ein 1 Bit verwendet wird, auf das Tinte angewendet werden soll, und 0, wenn keine Tinte angewendet werden soll. Wenn eine Position in Porderübersprungen wird, wird ein 0 Bit verwendet. In Pordermüssen mehrere 8-Bit-Positionen verwendet oder übersprungen werden. Andernfalls werden 0 Bit verwendet, um das letzte Byte in den niedrigstwertigen Bits zu füllen.
Auswirkungen der Änderung der Druckauflösung
Wenn die Steuersequenzen zum Ändern der Zeichendichte oder der Zeilenteilung verwendet werden, kann sich der Stift-oder Punktabstand ändern. Die folgenden Funktionen ändern die Tonhöhe in Punktmatrixgrafiken:
| Funktionen | Definition |
|---|---|
| cpi | Ändern Sie die Zeichendichte. |
| Cpix | Wenn festgelegt, ändert sich Wettbewerbspreisindex Spinh. |
| lpi | Zeilenabstand ändern. |
| Lpix | Wenn festgelegt, ändert sich Lpi Spinv. |

Die Werte für Orhi ' und Orhi sind die Werte der horizontalen Auflösung in Schritten pro Zoll, vor Verwendung von Wettbewerbspreisindex bzw. nach Verwendung von Wettbewerbspreisindex. Ebenso sind Orvi " und Orvi die Werte der vertikalen Auflösung in Schritten pro Zoll, bevor Sie Lpi bzw. Lpiverwenden. So folgen die Änderungen in den Punkten pro Zoll für Punktmatrixgrafiken den Änderungen in Schritten pro Zoll für die Druckerauflösung.
Druckqualität
Viele Punktmatrixdrucker können den Punktabstand von gedrucktem Text ändern, um Druck in Briefqualität oder Druck in Entwurfsqualität zu erzeugen. In der Regel ist es wichtig, die eine oder die andere wählen zu können, da die Druckgeschwindigkeit im Allgemeinen abnimmt, wenn sich die Qualität verbessert. Die folgenden Funktionen geben die Druckqualität an:
| Funktionalität | Definition |
|---|---|
| Snlq | Legen Sie die Qualität des Drucks in der Nähe von Buchstaben fest. |
| SNMP-Warteschlange | Legen Sie die normale Druckqualität fest. |
| SDRFQ | Legen Sie Druck in Entwurfsqualität fest. |
Die Funktionen werden in abnehmender Qualität aufgelistet. Wenn ein Drucker nicht alle drei Ebenen hat, sollten eine oder zwei der Zeichenfolgen leer gelassen werden.
Druckrate und Puffergröße
Da es kein Standardprotokoll gibt, das einen Drucker mit einem Programm synchronisiert, und weil moderne Drucker Daten vor dem Drucken puffern können, kann ein Programm im Allgemeinen nicht bestimmen, was gedruckt wurde. Zwei neue numerische Funktionen können einem Programm helfen, zu schätzen, was gedruckt wurde: die Funktionen CPS und Bufsz .
Die Funktion CPS gibt die nominale Druckrate in Zeichen pro Sekunde an. Die Funktion CPS ist die nominale oder durchschnittliche Geschwindigkeit, mit der der Drucker Zeichen druckt. Wird dieser Wert nicht angegeben, wird die Rate bei einem Zehntel der aktuellen Baudrate geschätzt.
Die Funktion Bufsz definiert die Pufferkapazität eines Terminals in Zeichen. Der Wert für Bufsz ist die maximale Anzahl nachfolgender Zeichen, die gepuffert werden, bevor das garantierte Drucken eines früheren Zeichens unter der Annahme, dass die ordnungsgemäße Ablaufsteuerung verwendet wurde. Wenn dieser Wert nicht angegeben wird, wird angenommen, dass der Drucker Zeichen nicht puffert, sondern sie druckt, wenn sie empfangen werden.
Wenn beispielsweise ein Drucker einen Puffer mit 1000 Zeichen hat, wird durch das Senden des Buchstabens "a" gefolgt von 1000 zusätzlichen Zeichen garantiert, dass der Buchstabe "a" gedruckt wird. Wenn derselbe Drucker mit einer Geschwindigkeit von 100 Zeichen pro Sekunde druckt, sollte es 10 Sekunden dauern, bis alle Zeichen im Puffer gedruckt sind, weniger, wenn der Puffer nicht voll ist. Wenn Sie die an einen Drucker gesendeten Zeichen verfolgen und die Druckgeschwindigkeit und die Puffergröße kennen, kann sich ein Programm mit dem Drucker synchronisieren.
Die meisten Druckerhersteller werben für die maximale Druckrate, nicht für die nominale Druckrate. Eine gute Möglichkeit, einen Wert für CPS abzurufen, besteht darin, einige Textseiten zu generieren, die Anzahl der druckbaren Zeichen zu zählen und dann zu sehen, wie lange es dauert, den Text zu drucken.
Anwendungen, die diese Werte verwenden, müssen die Variabilität in der Druckrate erkennen. Gerader Text, in kurzen Zeilen, ohne eingebettete Steuersequenzen wird wahrscheinlich in der Nähe der beworbenen Druckrate und wahrscheinlich schneller als die Rate in CPSgedruckt. Grafikdaten mit vielen Steuersequenzen oder sehr langen Textzeilen werden deutlich unter der ausgeschriebenen Rate und unter der Rate in CPSgedruckt. Wenn die Anwendung CPS verwendet, um zu entscheiden, wie lange ein Drucker zum Drucken eines Textblocks braucht, sollte die Anwendung die Schätzung auffüllen. Wenn die Anwendung mithilfe von CPS entscheidet, wie viel Text bereits gedruckt wurde, sollte die Schätzung verkleinert werden. Die Anwendung errs zugunsten des Benutzers, der vor allem die gesamte Ausgabe an ihrer richtigen Stelle sehen will.
Datenbankdateinamen
Kompilierte terminfo -Dateibeschreibungen werden in Unterverzeichnisse unter dem Verzeichnis /usr/share/lib/terminfo gestellt, um lineare Suchen in einem einzelnen Verzeichnis zu vermeiden, das alle terminfo -Dateibeschreibungsdateien enthält. Eine Beschreibungsdatei wird in der Datei /usr/share/lib/terminfo/c/name gespeichert, wobei name der Name des Terminals und c der erste Buchstabe des Terminalnamens ist. Beispiel: Die kompilierte Beschreibung für das Terminalterm4-nlfinden Sie in der Datei /usr/share/lib/terminfo/t/term4-nl. Sie können Synonyme für dasselbe Terminal erstellen, indem Sie mehrere Links zu derselben kompilierten Datei erstellen. (Informationen zum Erstellen mehrerer Links zu einer Datei finden Sie unter dem Befehl ln .)
Beispiel
Der folgende Terminfo -Eintrag beschreibt ein Terminal:
hft|High Function Terminal,
cr=^M, cud1=\E[B, ind=\E[S, bel=^G, il1=\E[L, am,
cub1=^H, ed=\E[J, el=\E[K, clear=\E[H\E[J,
cup=\E[%ip1%d;%p2%dH, cols#80, lines=#25,
dch1=\E[P, dl1=\E[M, home=\E[H,
ich=\E[%p1%d@, ich1=\E[@, smir=\E[6, rmir=\E6,
bold=\E[1m, rev=\E[7m, blink=\E[5m, invis=\E[8m, sgr0=\E[0m,
sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6t1;%;m,
kcuu1=\E[A, kcud1=\E[B, kcub1=\E[D,
kcuf1=\E[C, khome=\E[H, kbs=^H,
cuf1=\E[C, ht=^I, cuu1=\E[A, xon,
rmul1=\E[m, smul=\E[4m, rmso=\E[m, smso=\E[7m,
kpp=\E[150q, knp=\E[154q,
kf1=\E[001q, kf2=\E[002q, kf3=\E[003q, kf4=\E[004q,
kf5=\E[005q, kf6=\E[006q, kf7=\E[007q, kf8=\E[008q,
kf9=\E[009q, kf10=\E[010q,
bw, eo, it#8, ms,
ch=\E%i%p1%dG, ech=\E[%p15dx,
kdch1=\E[P, kind=\E[151q, kich1=\E[139q, kimr=\E[41,
kn=^M, ko=^I, ktab=\E[Z, kri=\E[155q,
cub=\E[%p1%dD, cuf=\E[%p1%dC, indn=\E[%p1dS, rin=\E[%p1%dT,
ri=\E[T, cuu=\E[%p1%dA,
box1=332\304\277\263\331\300\302\264\301\303\305,
box2=311\315\273\272\274\310\313\271\312\314\316,
batt2=md,
colf0=\E[30m, colf1=\E[31m, colf2=\E[32m, colf3=\E[33m,
colf4=\E[34m, colf5=\E[35m, colf6=\E[36m, colf7=\E[37m,
colb0=\E[40m, colb1=\E[41m, colb2=\E[42m, colb3=\E[43m,
colb4=\E[44m, colb5=\E[45m, colb6=\E[46m, colb7=\E[47m, ibm3161|ibm3163|wy60-316X|wyse60-316X|IBM 3161/3163 display,
am, mir, cr=^M, ind=^J,
cols#80, it#8, lines#24,
kich1=\EP\040\010,
ed=\EJ, el=\EI, cup=\EY%p1%' '%+%c%p2%'
'%+%c,
clear=\EH\EJ, dch1=\EQ, dl1=\EO, cud1=\EB,
cub1=\ED, blink=\E4D, bold=\E4H,
sgr0=\E4@\E<@,
invis=\E4P, rev=\E4A, cuf1=\EC,
rmso=\E4@,
smso=\E4A, rmul=\E4@, cuu1=\EA,
smul=\E4B,
sgr=\E4%'@'%?%p1%t%'A'%|%;
%?%p2%t%'B'%|%;
%?%p3%t%'A'%|%;
%?%p4%t%'D'%|%;
%?%p5%t%'@'%|%;
%?%p6%t%'H'%|%;
%?%p7%t%'P'%|%;%c
%?%p9%t\E>A%e\E<@%;,
box1=\354\361\353\370\352\355\367\365\366\364\356,
box2=\354\361\353\370\352\355\367\365\366\364\356,
batt2=md,
ktbc=\E\0401, kil1=\EN, kbs=^H,
kclr=\EL^M,
kcud1=\EB, kdch1=\EQ, kel=\EI,
khome=\EH,
kcub1=\ED, kdl1=\EO, ktab=^I, kcbt=\E2,
kcuf1=\EC, ked=\EJ, kctab=\E1, khts=\E0,
kcuu1=\EA, knl=\r, kact=\E8\r,
kf1=\Ea\r, kf2=\Eb\r, kf3=\Ec\r,
kf4=\Ed\r,
kf5=\Ee\r, kf6=\Ef\r, kf7=\Eg\r,
kf8=\Eh\r,
kf9=\Ei\r, kf10=\Ej\r, kf11=\Ek\r,
kf12=\El\r,
kf13=\E!a\r, kf14=\E!b\r, kf15=\E!c\r,
kf16=\E!d\r,
kf17=\E!e\r, kf18=\E!f\r, kf19=\E!g\r,
kf20=\E!h\r,
kf21=\E!i\r, kf22=\E!j\r, kf23=\E!k\r,
kf24=\E!l\r,
smcup=\E>A, rmcup=\E>A, msgr,
home=\EH, bel=^G, mc5=^P^R, mc4=^P^T,
Dateien
| Element | Beschreibung |
|---|---|
| /usr/share/lib/terminfo/?/* | Datenbank für kompilierte Terminalfunktionalität |