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:

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:

Tabelle 1 Suffixe des Stammnamens
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:

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:

Tabelle 2. Boolesche Funktionen
Variable Name der Obergrenze I.Code
auto_left_rand
Gibt cub1 -Umbrüche von Spalte 0 bis zur letzten Spalte an.
bw bw
Automatische rechte Randgrenze
Gibt an, dass das Terminal automatische Randeinstellungen hat.
vormittags vormittags
back_color_erase (Hintergrundfarbe löschen)
Löscht die Anzeige mit dem aktuellen Hintergrund.
BCE NUT
can_ändern
Kann vorhandene Farbe neu definieren.
ccc CC
Ceol_standout_glitch
Gibt an, dass das Standout nicht durch Überschreiben gelöscht wird.
XPS Xs
col_addr_glitch
Zeigt nur positive Bewegung für hpa/mhpa Caps an.
Xhpa YA
cpi_changes_res
Gibt an, dass sich die Auflösung beim Ändern der Zeichendichte geändert hat.
Cpix YF
cr_cancels_mikromodus
Gibt an, dass cr den Mikromodus inaktiviert.
Crxm YB
dest_tabs_magic_smso (oder teleray_glitch)
Gibt zerstörerische Tabulatoren und Leerzeichen an, die eingefügt werden, wenn der Abstandmodus aktiviert wird.
Xt Xt
eat_newline_glitch
Ignoriert Zeilenvorschubzeichen nach 80 Spalten.
Xenl XN
Erase_overstrike
Löscht Überschläge mit einem Leerzeichen.
Eo Eo
generischer Typ
Gibt den generischen Leitungstyp an, z. B. Wählverbindung oder Schalter.
Gn Gn
Hard_Copy
Gibt das Hardcopy-Terminal an
HC HC
Hard_Cursor
Gibt an, dass der Cursor schwer zu sehen ist.
Chts Personalbestand
Hat Metaschlüssel
Gibt an, dass das Terminal über eine Metataste verfügt, z. B. Shift oder setzt das Paritätsbit.
Km Km
Druckrad
Gibt den Operator an, der zum Ändern des Zeichensatzes erforderlich ist.
Daisy YC
Hat Statuszeile
Gibt an, dass das Terminal eine dedizierte Statuszeile hat.
HS HS
Farblichte_Sättigung
Verwendet die HLS-Farbnotation (Tektronix).
hls Hl
'insert_null_glitch'
Gibt an, dass der Einfügemodus Nullen unterscheidet.
in in
lpi_Änderungen_res
Gibt an, dass die Auflösung beim Ändern der Zeilenteilung geändert wurde.
Lpix YG
Speicher_oben
Über dem Bildschirm beibehaltene Anzeige (in der Regel mehrseitige Terminals)
da da
Speicher_unter
Anzeige unter dem Bildschirm (in der Regel mehrseitige Terminals)
db db
Modus 'move_insert_mode'
Gibt an, dass im Einfügemodus eine sichere Bewegung möglich ist
Mir Mi
Modus 'move_standout_mode'
Gibt an, dass eine sichere Bewegung in den herausragenden Modi möglich ist.
Msgr Millisekunden
benötigt_xon_xoff
Gibt an, dass das Auffüllen nicht funktioniert, dass Xon/xoff erforderlich ist
Nxon NX
no_esc_ctlc (oder beehive_glitch)
Gibt ein Terminal mit F1=escape und F2=Ctrl-Can.
XSD XB
No_pad_char
Gibt an, dass das Füllzeichen nicht vorhanden ist.
NPC NP
nicht_dest_scroll_region
Gibt einen nicht zerstörerischen Bildlaufbereich an.
ndscr ND
Nicht-rev_rmcup
Gibt an, dass smcup rmcup nicht umkehrt.
nrrmc NR
Überstreichung
Zeigt Terminalübergriffe an.
Betriebssystem Betriebssystem
prtr_unbeaufsichtigt
Gibt an, dass der Drucker nicht auf dem Bildschirm zurückmeldet.
mc5i 5i
Zeilen_addr_glitch
Zeigt nur positive Bewegung für vpa/mvpa-Großbuchstaben an.
XVPA YD
halb_auto_rechter Rand
Gibt an, dass das Drucken in der letzten Spalte einen Rücklauf verursacht.
Sam YE
Statuszeile_Esc_ok
Gibt an, dass in der Statuszeile Escapezeichen verwendet werden können.
Eslok es
Tilde_glitch
Gibt an, dass das Terminal das Zeichen ~ (Tilde) nicht drucken kann.
Hz Hz
Transparente Unterstreichung
Überstreichung mit Unterstreichungszeichen.
UL UL
xon_xoff
Gibt an, dass das Terminal Xon-/XOff-Handshakeverfahren verwendet.
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:

Tabelle 3. Numerische Funktionalität
Variable Name der Obergrenze I.Code
Pufferkapazität
Gibt die Anzahl der Byte an, die vor dem Drucken gepuffert wurden.
Bufsz Ja
Spalten
Gibt die Anzahl der Spalten in einer Zeile an.
Spalten co
dot_horz_abstand
Gibt den horizontalen Abstand von Punkten in Dots per Inch an.
Spinh YcName
Punktvert_Abstand
Gibt den vertikalen Abstand von Pins in Pins pro Zoll an
Spinv Yb
Init_Tabs
Stellt anfängliche Tabulatoren für jede angegebene Anzahl von Leerzeichen bereit.
es es
Beschriftungshöhe
Gibt die Anzahl der Zeilen in jeder Beschriftung an
LH LH
Beschriftungsbreite
Gibt die Anzahl der Spalten in jeder Beschriftung an.
LW LW
Zeilen
Gibt die Anzahl der Zeilen auf der Anzeige oder Seite an.
Zeilen Li
Speicherzeilen_von_Speicher
Gibt die Anzahl der Speicherzeilen an, wenn > Zeilen. Der Wert 0 gibt eine variable Zahl an.
Lm Lm
magischer_Cookie-Fehler
Gibt die Anzahl der Leerzeichen an, die von SMSO oder RMSOübrig bleiben.
Xmc sg
max_attribute
Gibt die maximalen kombinierten Videoattribute an, die das Terminal anzeigen kann.
ma ma
max_farben
Gibt die maximale Anzahl unterstützter Farben an.
Farben CO
Max_Mikroadresse
Geben Sie den Grenzwert für die Verwendung von MHPA und Mvpaan.
Maddr Yd
max_micro_jump
Gibt den Grenzwert für die Verwendung der Funktionen mcub1, mcuf1, mcuu1und mcud1 an.
MJump Ja
Maximalanzahl Paare
Gibt die maximale Anzahl der unterstützten Farbpaare an
Paare pa
Maximale_Fenster
Gibt die maximale Anzahl definierbarer Fenster an
WNr MW
Mikrozeichengröße
Gibt die Zeichenschrittgröße im Mikromodus an.
MCS Yf
Mikrozeilengröße
Gibt die Größe des Leitungsschritts im Mikromodus an.
MLS Jg
Kein Farbvideo
Gibt Videoattribute an, die nicht mit Farben verwendet werden können
Ncv NC
Anzahl_Beschriftungen
Gibt die Anzahl der Beschriftungen auf dem Bildschirm an. Dieser Wert beginnt bei 1.
NLab nl
anzahl_pins
Gibt die Anzahl der Stifte im Druckkopf an.
Npins Ja
ausgabe_res_zeichen
Gibt die horizontale Auflösung in Einheiten pro Zeichen an.
ORC Yi
Ausgabe res_horz_inch
Gibt die horizontale Auflösung in Einheiten pro Zoll an.
Orhi YK
ausgabe_res_zeile
Gibt die vertikale Auflösung in Einheiten pro Zeile an
Orl Yj
ausgabe_res_vert_inch
Gibt die vertikale Auflösung in Einheiten pro Zoll an.
Orvi Yl
Baudrate-Auffüllung
Gibt die niedrigste Baudrate an, bei der Rücklauf-und Zeilenumbrüche erforderlich sind.
PB PB
Druckgeschwindigkeit
Gibt die Druckrate in Zeichen pro Sekunde an.
cps YmName
Virtual_Terminal
Gibt die Nummer des virtuellen Terminals an
VT VT
Breite Zeichengröße
Gibt die Zeichenschrittgröße an, wenn sich das Terminal im Modus mit doppelter Breite befindet.
Widcs JN
Width_Statuszeilen
Gibt die Anzahl der Spalten in Statuszeilen an.
WSDL-Element ws

Zeichenfolgefunktionen

Sie definieren Funktionen mit Zeichenfolgewerten, wie z. B. die Funktion El (klar bis zum Zeilenende) mit einem zweistelligen Code, einem Gleichheitszeichen (=) und einer Zeichenfolge, die mit einem Komma (,) endet. Eine Verzögerung in Millisekunden kann an einer beliebigen Stelle in einer Zeichenfolgefunktion auftreten. Um eine Verzögerung zu definieren, schließen Sie die Verzögerung zwischen $< und a > ein. Das folgende Beispiel zeigt die Funktion El mit einer Verzögerung von 3:
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):

  1. Bearbeiten Sie die Datei /etc/passwd mit 9600 Baud.
  2. Löschen Sie etwa 16 Zeilen aus der Mitte der Anzeige.
  3. 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.

Diese Funktionalität reicht aus, um Druckterminals und einfache CRT-Terminals zu beschreiben. So wird der Teletyp Modell 33 wie folgt beschrieben:
33 | tty33 | tty | Model 33 Teletype
         bel=^G, cols#72, cr=^M, cud1=^J, hc, ind=^J, os, xon,
Ein weiteres Terminal wird wie folgt beschrieben:
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.
%? c1 %t b1 %e c2 %t b2 %e c3 %t b3 %e b4 %;

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>.

Einige Terminals benötigen die aktuelle Zeile und Spalte, die gesendet werden, mit einem vorangestellten ^ T, wobei die Zeile und Spalte im Binärformat codiert sind:cup=^T%p1%c%p2%c. Terminals, die %c verwenden, müssen in der Lage sein, den Cursor zurückzusetzen (cub1) und den Cursor in der Anzeige um eine Zeile nach oben zu verschieben (cuu1). Dies ist erforderlich, weil es nicht immer sicher ist, \n-, ^ D-und \r -Zeichen zu übertragen, da das System sie ändern oder verwerfen kann.
Anmerkung: Die Bibliotheksroutinen, die sich mit den Terminfo -Datenbankdateien befassen, legen Terminalmodi fest, sodass Registerkarten nicht vom Betriebssystem erweitert werden; daher kann \t (Tabulator) sicher gesendet werden.

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.

Anmerkung: Die Ausgangsposition entspricht der Adressierung (0, 0) in der linken oberen Ecke der Anzeige, nicht der Speicherposition.

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.

Stellen Sie sicher, dass Sie den Cursor in den Blätterbereich mit der Funktion Tasse bewegen, bevor Sie versuchen, den Bereich zu verschieben. Sie sollten den Cursor nicht aus der Region bewegen, bis Sie damit fertig sind.
Wenn Sie die Funktion Anmerkung: Terminals CSR verwenden, müssen Sie möglicherweise auch die Funktionen Sc und RC verwenden.

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:

  1. Typabc defVerwendung lokaler Cursorbewegungen, nicht Leerzeichen, zwischen denabcunddef.
  2. Positionieren Sie den Cursor vor demabc.
  3. Versetzen Sie das Terminal in den Einfügemodus.
  4. 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)
Anmerkung: Jede Escapezeichenfolge erfordert eine 0, um andere Modi zu inaktivieren, bevor der eigene Modus aktiviert wird.

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.

Die Terminals der Serie Tektronix 4100 verwenden eine Art Farbnotation mit dem Namen HLS (Hue Lightness Saturation) anstelle der RGB-Farbnotation. Für solche Terminals sollten Sie die boolesche Funktion HLS definieren. Die letzten drei Argumente für die Funktion InitC wären dann HLS-Werte, wobei H im Bereich von 0 bis 360 und L und S im Bereich von 0 bis 100 liegt.
Anmerkung: Wenn ein Terminal die Farbdefinitionen ändern kann, aber eine andere Farbnotation als RGB oder HLS verwendet, muss eine Zuordnung zu RGB oder HLS entwickelt werden.

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

Wenn zwei Terminals sehr ähnlich sind, können Sie eines als wie das andere mit der Zeichenfolgefunktion verwenden definieren. Sie können auch alle Definitionen aus einer vorhandenen Beschreibung verwenden und Ausnahmen identifizieren. Die vor der Funktion verwenden angegebenen Funktionen überschreiben die Funktionen des Terminaltyps, der von der Funktion verwenden aufgerufen wird. So stornieren Sie einen Funktionalitätsbereichxx@links neben der Funktionsdefinition verwenden . Dabei gilt Folgendes:xxist die Funktionalität. Beispiel: Der Eintrag
term-nl | Terminal smkx@, rmkx@, use=term

Definiert 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 .

Die folgende Abbildung "Specification of Printer Resolution Effects of Changing the Character/Line Pitches" zeigt die Auswirkungen auf die Druckerauflösung vor und nach einer Änderung.
Diese Abbildung zeigt die Auswirkungen der Änderung von Zeichendichte und Linienteilung auf die Druckerauflösung.
Bildmaterial aixfi5

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.
Die letzten vier Zeichenfolgen werden mit einem einzigen Parameter N verwendet. Dieser Parameter gibt eine Zeilen-oder Spaltennummer an, wobei 0 die oberste Zeile und 0 die Spalte ganz links ist.
Anmerkung: Nicht alle Drucker verwenden 0 für die oberste Zeile oder die Spalte ganz links.

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.
Programme, die Wettbewerbspreisindex oder Lpi verwenden, sollten den Punktabstand neu berechnen. Die folgende Abbildung "Dot-Matrix Graphics Effects of Changing the Character/Line Pitches" zeigt Grafiken sowohl vor als auch nach einer Tonänderung.
Abb. 1. Punkt-Matrix-Grafiken. Diese Abbildung zeigt die Auswirkungen der Änderung von Zeichenteilung und Linienteilung auf Punktmatrixgrafiken.
Bildmaterial aixfi6

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,
Der folgende Terminfo -Eintrag beschreibt ein Terminal:
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