keyboard(7) (Nur RM400) keyboard(7)
NAME
keyboard - Tastatur der Systemkonsole
BESCHREIBUNG
Die Systemkonsole besteht aus zwei getrennten Teilen: Der Tastatur und
dem Bildschirm [siehe display(7)].
Über die Tastatur werden Daten eingegeben und bestimmte Steuersignale
an den Rechner geschickt. Die Reliant UNIX Software emuliert ein Ter-
minal auf dem Bildschirm und der Tastatur der Konsole und benutzt
dabei bestimmte Tasten und Tastenkombinationen. Diese Tasten und
Tastenkombinationen haben spezielle, Reliant UNIX spezifische Namen,
die nicht unbedingt mit den Tastenbeschriftungen auf Ihrer Tastatur
übereinstimmen müssen. Wenn Sie eine Taste drücken, läuft einer der
folgenden Vorgänge ab:
- Ein ASCII-Wert wird eingegeben.
- Die Belegung einer anderen Taste bzw. von anderen Tasten wird geän-
dert.
- An den Rechner wird eine Zeichenkette geschickt.
- Eine Funktion wird aktiviert.
Wenn eine Taste gedrückt wird, schickt die Tastatur einen Scan-Code an
den Rechner. Dieser Scan-Code wird durch den Tastaturtreiber interpre-
tiert. Die Code-Folge, die tatsächlich an die Terminal-Eingabefunktion
[siehe termio(7)] geschickt wird, ist in einer Reihe von treiberinter-
nen Tabellen festgelegt. Diese Tabellen können durch Programme geän-
dert werden (siehe Beschreibung der ioctl-Funktionsaufrufe, unten).
Außerdem kann der Treiber angewiesen werden, keine Umsetzungen durch-
zuführen, d. h., die Scan-Codes für "Taste nicht gedrückt/gedrückt"
direkt zu übermitteln.
Änderung der Tastaturbelegung
Die durch eine Taste aktivierte Funktion kann geändert werden, indem
die Taste in Kombination mit ein oder zwei anderen Tasten gedrückt
wird. So werden beispielsweise durch die Taste SHIFT die ASCII-Werte
der alphanumerischen Tasten geändert. Wenn die Taste CTRL gedrückt
gehalten und gleichzeitig eine andere Taste gedrückt wird, wird ein
Steuer-Code (z. B. CTRL-D, CTRL-S und CTRL-Q) übermittelt. Wenn die
Taste ALT gedrückt gehalten wird, wird ebenfalls die Belegung einer
Taste geändert. Die Tasten SHIFT, CTRL und ALT können in beliebiger
Kombination gedrückt werden.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
keyboard(7) (Nur RM400) keyboard(7)
Umschalten zwischen Bildschirmen
Um zu einem anderen virtuellen Bildschirm zu wechseln, rufen Sie
zunächst das Kommando vtlmgr auf [siehe vtlmgr(1M)]. Eine andere Mög-
lichkeit ist, die Tasten ALT-SYSREQ (bzw. ALT-PRINTSCRN auf einigen
Systemen) zu drücken, gefolgt von einer Taste, über die der gewünschte
Bildschirm angegeben wird. Sie können einen beliebigen aktiven Bild-
schirm auswählen, indem Sie nach den Tasten ALT-SYSREQ die Taste Fn
drücken, wobei Fn eine Funktionstaste ist. F1 steht für den ersten
virtuellen Bildschirm, F2 für den zweiten usw. ALT-SYSREQ "h" steht
für den Bildschirm der Hauptkonsole (/dev/console). Der nächste aktive
Bildschirm kann mit ALT-SYSREQ "n" gewählt werden, der vorhergehende
mit ALT-SYSREQ "p".
Die Standard-Umschaltsequenz (ALT-SYSREQ) kann von Ihnen beliebig
festgelegt werden. Der SYSREQ-Tabelleneintrag kann über Programme
geändert werden (siehe Beschreibung der ioctl-Funktionsaufrufe,
unten).
Sondertasten
Die folgende Tabelle zeigt die Tasten, die auf einer typischen Konsole
den Tasten des Reliant UNIX Systems entsprechen. Ein Bindestrich zwi-
schen zwei Tastenbezeichnungen bedeutet in dieser Tabelle, daß Sie die
erste Taste gedrückt halten und gleichzeitig die zweite drücken müs-
sen. Die Zuordnungen zwischen den signalgenerierenden Zeichen und den
tatsächlich generierten Signalen werden mit stty(1) festgelegt und
können geändert werden.
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
keyboard(7) (Nur RM400) keyboard(7)
______________________________________________________________________
| Name Beschriftung Aktion |
|_____________________________________________________________________|
| INTR DEL Bricht die aktuelle Aktion ab und ruft wie-|
| der eine Shell auf. Diese Taste heißt auch |
| RUB OUT oder INTERRUPT. |
| |
| BACKSPACE <- Löscht das Zeichen unmittelbar links vom |
| Cursor. |
| Hinweis: Obwohl die Taste "Pfeil nach |
| links" ebenfalls mit einem Pfeil nach links|
| (<-) versehen ist, hat diese Taste eine |
| andere Funktion als BACKSPACE. |
| |
| CTRL-D CTRL-D Signalisiert das Ende der Tastatureingabe; |
| beendet auch die aktuelle Shell. |
| |
| CTRL-H CTRL-H Löscht das Zeichen unmittelbar links vom |
| Cursor. Diese Taste hat auch die Bezeich- |
| nung ERASE. |
| |
| CTRL-Q CTRL-Q Startet erneut das Ausdrucken, nachdem es |
| mit CTRL-S gestoppt worden ist. |
| |
| CTRL-S CTRL-S Hält die Bildschirmausgabe an (das Programm|
| wird nicht abgebrochen). |
| |
| CTRL-U CTRL-U Löscht alle Zeichen in der aktuellen Zeile.|
| Diese Taste wird auch als KILL bezeichnet. |
| |
| CTRL-\ CTRL-\ Beendet das aktuelle Kommando und legt eine|
| core-Datei an (falls zulässig). (Diese |
| Taste ist nur zur Fehlersuche empfehlens- |
| wert.) |
| |
| ESCAPE ESC Sonder-Code für bestimmte Programme. Damit |
| wird beispielsweise unter dem Texteditor |
| vi(1) vom Einfügemodus in den Kommandomodus|
| gewechselt. |
| |
| RETURN (nach links Schließt eine Kommandozeile ab und bewirkt |
| unten abge- die Ausführung einer Aktion von einer Shell|
| knickter aus. |
| Pfeil oder |
| ENTER) |
|_____________________________________________________________________|
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
keyboard(7) (Nur RM400) keyboard(7)
______________________________________________________________________
| Name Beschriftung Aktion |
|_____________________________________________________________________|
| Fn Fn Funktionstaste n. Für die Funktionstasten |
| F1-F12 werden die Funktionstasten allein |
| betätigt, für die Funktionstasten F13-F24 |
| die Funktionstasten F1-F12 in Kombination |
| mit der SHIFT-Taste, für die Funktionsta- |
| sten F25-F36 die Tastenkombinationen CTRL- |
| F1 bis F12 und für die Funktionstasten |
| F37-F48 die Tastenkombinationen CTRL- |
| SHIFT-F1 bis F12. |
| |
| Die nachfolgenden Fn-Tasten (F49-F60) |
| befinden sich auf dem Nummernblock (ohne |
| SHIFT-Taste): |
| |
| F49 - 7 F55 - 6 |
| F50 - 8 F56 - + |
| F51 - 9 F57 - 1 |
| F52 - - F58 - 2 |
| F53 - 4 F59 - 3 |
| F54 - 5 F60 - 0 |
|_____________________________________________________________________|
Tastaturabbildungen
Die Tastaturabbildungen sind in /usr/include/sys/kd.h festgelegt. Für
jede Taste sind zehn verschiedene Zustände möglich. Die ersten acht
Zustände sind nachfolgend aufgeführt:
- BASE
- CTRL-SHIFT
- SHIFT
- ALT-SHIFT
- CTRL
- ALT-CTRL
- ALT
- ALT-CTRL-SHIFT
Die beiden übrigen Zustände werden durch zwei spezielle Bytes ange-
zeigt. Beim ersten Byte handelt es sich um ein Sonderstatus-Byte: die
Bits dieses Bytes zeigen an, ob die Taste in einem oder mehreren der
ersten acht Zustände eine Sonderfunktion hat. Beim zweiten Byte han-
delt es sich um einen von vier Codes, die durch eines der vier Zeichen
C, N, B oder O dargestellt werden; hiermit wird angegeben, wie das
Drücken einer Feststelltaste sich auf die Belegung der betreffenden
Taste auswirkt.
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98
keyboard(7) (Nur RM400) keyboard(7)
Die folgende Tabelle beschreibt die Standard-Tastaturabbildungen. Mit
Ausnahme der speziellen Schlüsselwörter (die später beschrieben wer-
den) sind alle Werte ASCII-Zeichenwerte.
Überschrift Beschreibung
SCAN CODE Diese Spalte enthält die Scan-Codes, die beim Drücken
einer Taste durch die Tastatur-Hardware generiert wer-
den. Für die Scan-Codes, die beim Loslassen einer Taste
generiert werden, sind keine Tabelleneinträge angegeben.
BASE Diese Spalte enthält den normalen Wert, der beim Drücken
einer Taste generiert wird.
SHIFT Der in dieser Spalte aufgeführte Wert wird generiert,
indem die SHIFT-Taste gedrückt gehalten und gleichzeitig
eine Taste gedrückt wird.
LOCK In dieser Spalte sind die Feststelltasten aufgeführt,
die die Belegung der betreffenden Taste ändern:
- C steht für CAPSLOCK
- N steht für NUMLOCK
- B steht für "beide"
- O steht für "keine"
Die Werte in den übrigen Spalten werden generiert, wenn eine bestimmte
Taste gedrückt und gleichzeitig bestimmte Kombinationen der Tasten
CTRL, ALT und SHIFT gedrückt gehalten werden.
Über den Eintrag in der Spalte SRQTAB kann festgelegt werden, mit wel-
chen Tasten virtuelle Bildschirme aufgerufen werden können. Die
SRQTAB-Tabelle ist in Wirklichkeit eine separate Tabelle, die über die
ioctl-Funktionsaufrufe KDGKBENT und KDSKBENT gelesen und geändert wer-
den kann.
Seite 5 Reliant UNIX 5.44 Gedruckt 11/98
keyboard(7) (Nur RM400) keyboard(7)
_______________________________________________________________________________
| ALT |
|SCAN CTRL ALT ALT CTRL |
|CODE BASE SHIFT CTRL SHIFT ALT SHIFT CTRL SHIFT LOCK SRQTAB|
|_____________________________________________________________________________|
| 0 nop nop nop nop nop nop nop nop O nop |
| 1 esc esc esc esc esc esc esc esc O nop |
| 2 '1' '!' '1' '1' escn escn nop nop O nop |
| 3 '2' '@' nul nul escn escn nop nop O nop |
| 4 '3' '#' '3' '3' escn escn nop nop O nop |
| 5 '4' '$' '4' '4' escn escn nop nop O nop |
| 6 '5' '%' '5' '5' escn escn nop nop O nop |
| 7 '6' '^' rs rs escn escn nop nop O nop |
| 8 '7' '&' '7' '7' escn escn nop nop O nop |
| 9 '8' '*' '8' '8' escn escn nop nop O nop |
| 10 '9' '(' '9' '9' escn escn nop nop O nop |
| 11 '0' ')' '0' '0' escn escn nop nop O nop |
| 12 '-' '_' ns ns escn escn nop nop O nop |
| 13 '=' '+' '=' '+' escn escn nop nop O nop |
| 14 bs bs bs bs bs bs bs bs O nop |
| 15 ht gs ht gs ht gs ht gs O nop |
| 16 'q' 'Q' dc1 dc1 escn escn nop nop C nop |
| 17 'w' 'W' etb etb escn escn nop nop C nop |
| 18 'e' 'E' enq enq escn escn nop nop C nop |
| 19 'r' 'R' dc2 dc2 escn escn nop nop C nop |
| 20 't' 'T' dc4 dc4 escn escn nop nop C nop |
| 21 'y' 'Y' em em escn escn nop nop C nop |
| 22 'u' 'U' nak nak escn escn nop nop C nop |
| 23 'i' 'I' ht ht escn escn nop nop C nop |
|_____________________________________________________________________________|
Seite 6 Reliant UNIX 5.44 Gedruckt 11/98
keyboard(7) (Nur RM400) keyboard(7)
________________________________________________________________________________
| ALT |
|SCAN CTRL ALT ALT CTRL |
|CODE BASE SHIFT CTRL SHIFT ALT SHIFT CTRL SHIFT LOCK SRQTAB |
|______________________________________________________________________________|
| 24 'o' 'O' si si escn escn nop nop C K_PREV |
| 25 'p' 'P' dle dle escn escn nop nop C nop |
| 26 '[' '{' esc esc escn escn nop nop O nop |
| 27 ']' '}' gs gs escn escn nop nop O nop |
| 28 cr cr cr cr cr cr cr cr O nop |
| 29 lctrl lctrl lctrl lctrl lctrl lctrl lctrl lctrl O nop |
| 30 'a' 'A' soh soh escn escn nop nop C nop |
| 31 's' 'S' dc3 dc3 escn escn nop nop C nop |
| 32 'd' 'D' eot eot escn escn nop nop C K_FRCNEXT|
| 33 'f' 'F' ack ack escn escn nop nop C nop |
| 34 'g' 'G' bel bel escn escn nop nop C K_VTF |
| 35 'h' 'H' bs bs escn escn nop nop C nop |
| 36 'j' 'J' nl nl escn escn nop nop C nop |
| 37 'k' 'K' vt vt escn escn nop nop C nop |
| 38 'l' 'L' np np escn escn nop nop C nop |
| 39 ';' ':' ';' ':' escn escn nop nop O nop |
| 40 '\'' '"' '\'' '"' escn escn nop nop O nop |
| 41 '`' '~' '`' '~' escn escn nop nop O nop |
| 42 lshift lshift lshift lshift lshift lshift lshift lshift O nop |
| 43 '\\' '|' fs fs escn escn nop nop O nop |
| 44 'z' 'Z' sub sub escn escn nop nop C nop |
| 45 'x' 'X' can can escn escn nop nop C nop |
| 46 'c' 'C' etx etx escn escn nop nop C nop |
| 47 'v' 'V' syn syn escn escn nop nop C nop |
| 48 'b' 'B' stx stx escn escn nop nop C K_NEXT |
| 49 'n' 'N' so so escn escn nop nop C nop |
| 50 'm' 'M' cr cr escn escn nop nop C nop |
| 51 ',' '<' ',' '<' escn escn nop nop O nop |
| 52 '.' '>' '.' '>' escn escn nop nop O nop |
| 53 '/' '?' '/' '?' escn escn nop nop O nop |
| 54 rshift rshift rshift rshift rshift rshift rshift rshift O nop |
| 55 '*' '*' '*' '*' escn escn escn escn O nop |
| 56 lalt lalt lalt lalt lalt lalt lalt lalt O nop |
| 57 ' ' ' ' nul nul fkey05 fkey05 nop nop O nop |
| 58 clock clock clock clock clock clock clock clock O K_VTF+1 |
| 59 fkey00 fkey12 fkey24 fkey36 fkey00 fkey12 fkey24 fkey36 O K_VTF+2 |
| 60 fkey01 fkey13 fkey25 fkey37 fkey01 fkey13 fkey25 fkey37 O K_VTF+3 |
| 61 fkey02 fkey14 fkey26 fkey38 fkey02 fkey14 fkey26 fkey38 O K_VTF+4 |
| 62 fkey03 fkey15 fkey27 fkey39 fkey03 fkey15 fkey27 fkey39 O K_VTF+5 |
| 63 fkey04 fkey16 fkey28 fkey40 fkey04 fkey16 fkey28 fkey40 O K_VTF+6 |
|______________________________________________________________________________|
Seite 7 Reliant UNIX 5.44 Gedruckt 11/98
keyboard(7) (Nur RM400) keyboard(7)
________________________________________________________________________________
| ALT |
|SCAN CTRL ALT ALT CTRL |
|CODE BASE SHIFT CTRL SHIFT ALT SHIFT CTRL SHIFT LOCK SRQTAB |
|______________________________________________________________________________|
| 64 fkey05 fkey17 fkey29 fkey41 fkey05 fkey17 fkey29 fkey41 O K_VTF+7 |
| 65 fkey06 fkey18 fkey30 fkey42 fkey06 fkey18 fkey30 fkey42 O K_VTF+8 |
| 66 fkey07 fkey19 fkey31 fkey43 fkey07 fkey19 fkey31 fkey43 O K_VTF+9 |
| 67 fkey08 fkey20 fkey32 fkey44 fkey08 fkey20 fkey32 fkey44 O K_VTF+10|
| 68 fkey09 fkey21 fkey33 fkey45 fkey09 fkey21 fkey33 fkey45 O |
| 69 nlock nlock nlock nlock nlock nlock nlock nlock O |
| 70 ack ack '|' '|' ack ack '|' '|' O |
| 71 fkey48 '7' fkey48 '7' fkey48 escn nop nop N |
| 72 fkey49 '8' fkey49 '8' fkey49 escn nop nop N |
| 73 fkey50 '9' fkey50 '9' fkey50 escn nop udr N |
| 74 fkey51 '-' fkey51 '-' fkey51 escn nop nop N |
| 75 fkey52 '4' fkey52 '4' fkey52 escn nop nop N |
| 76 fkey53 '5' fkey53 '5' fkey53 escn nop nop N |
| 77 fkey54 '6' fkey54 '6' fkey54 escn nop nop N |
| 78 fkey55 '+' fkey55 '+' fkey55 escn nop nop N |
| 79 fkey56 '1' fkey56 '1' fkey56 escn nop nop N |
| 80 fkey57 '2' fkey57 '2' fkey57 escn nop nop N |
| 81 fkey58 '3' fkey58 '3' fkey58 escn nop debug N |
| 82 fkey59 '0' fkey59 '0' fkey59 escn nop nop N |
| 83 del '.' del '.' del escn reboot nop N |
| 84 fkey59 fkey25 fkey59 nop sysreq sysreq sysreq sysreq O |
| 85 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 O K_NOP |
| 86 nop nop nop nop nop nop nop nop O K_NOP |
| 87 fkey10 fkey22 fkey34 fkey46 fkey10 fkey22 fkey34 fkey46 O K_VTF+11|
| 88 fkey11 fkey23 fkey35 fkey47 fkey11 fkey23 fkey35 fkey47 O K_VTF+12|
| 89 nop nop nop nop nop nop nop nop O K_NOP |
| 90 nop nop nop nop nop nop nop nop O K_NOP |
| 91 nop nop nop nop nop nop nop nop O K_NOP |
| 92 nop nop nop nop nop nop nop nop O K_NOP |
| 93 nop nop nop nop nop nop nop nop O K_NOP |
| 94 nop nop nop nop nop nop nop nop O K_NOP |
| 95 nop nop nop nop nop nop nop nop O K_NOP |
| 96 nop nop nop nop nop nop nop nop O K_NOP |
| 97 nop nop nop nop nop nop nop nop O K_NOP |
| 98 nop nop nop nop nop nop nop nop O K_NOP |
| 99 nop nop nop nop nop nop nop nop O K_NOP |
| 100 nop nop nop nop nop nop nop nop O K_NOP |
| 101 nop nop nop nop nop nop nop nop O K_NOP |
| 102 nop nop nop nop nop nop nop nop O K_NOP |
| 103 nop nop nop nop nop nop nop nop O K_NOP |
|______________________________________________________________________________|
Seite 8 Reliant UNIX 5.44 Gedruckt 11/98
keyboard(7) (Nur RM400) keyboard(7)
_______________________________________________________________________________
| ALT |
|SCAN CTRL ALT ALT CTRL |
|CODE BASE SHIFT CTRL SHIFT ALT SHIFT CTRL SHIFT LOCK SRQTAB|
|_____________________________________________________________________________|
| 104 nop nop nop nop nop nop nop nop O K_NOP |
| 105 nop nop nop nop nop nop nop nop O K_NOP |
| 106 nop nop nop nop nop nop nop nop O K_NOP |
| 107 fkey52 fkey52 fkey52 fkey52 fkey52 fkey52 fkey52 fkey52 O K_NOP |
| 108 nop nop nop nop nop nop nop nop O K_NOP |
| 109 nop nop nop nop nop nop nop nop O K_NOP |
| 110 nop nop nop nop nop nop nop nop O K_NOP |
| 111 fkey50 fkey50 nop nop nop nop nop nop O K_NOP |
| 112 nop nop nop nop nop nop nop nop O K_NOP |
| 113 nop nop nop nop nop nop nop nop O K_NOP |
| 114 agr agr agr agr agr agr agr agr O K_NOP |
| 115 rctrl rctrl rctrl rctrl rctrl rctrl rctrl rctrl O K_NOP |
| 116 cr cr cr cr cr cr cr cr O K_NOP |
| 117 '/' '/' nop nop escn escn nop nop O K_NOP |
| 118 nop nop nop nop nop nop nop nop O K_NOP |
| 119 brk brk brk brk brk brk brk brk O K_NOP |
| 120 fkey49 fkey49 nop nop nop nop nop nop O K_NOP |
| 121 del del del del del del del del O K_NOP |
| 122 fkey56 fkey56 nop nop nop nop nop nop O K_NOP |
| 123 fkey59 fkey59 nop nop nop nop nop nop O K_NOP |
| 124 nop nop nop nop nop nop nop nop O K_NOP |
| 125 fkey54 fkey54 nop nop nop nop nop nop O K_NOP |
| 126 fkey58 fkey58 nop nop nop nop nop nop O K_NOP |
| 127 fkey48 fkey48 nop nop nop nop nop nop O K_NOP |
|_____________________________________________________________________________|
Seite 9 Reliant UNIX 5.44 Gedruckt 11/98
keyboard(7) (Nur RM400) keyboard(7)
Die folgende Tabelle zeigt die Werte sämtlicher spezieller Schlüssel-
wörter in den vorhergehenden Tabellen. Die Schlüsselwörter wurden in
den vorhergehenden Tabellen lediglich zur besseren Verständlichkeit
benutzt. In der tatsächlichen Tastenabbildungstabelle wird ein spe-
zielles Schlüsselwort durch seinen Wert dargestellt, wobei das betref-
fende Sonderstatus-Bit gesetzt ist.
______________________________________________________________________
| Name Wert Bedeutung |
|_____________________________________________________________________|
| nop 0 Keine Operation - Keine Funktion bei Tastenanschlag |
| lshift 2 (Left-hand shift) SHIFT-Taste links |
| rshift 3 (Right-hand shift) SHIFT-Taste rechts |
| clock 4 CAPS LOCK |
| nlock 5 NUM LOCK |
| slock 6 SCROLL LOCK |
| alt 7 Alt-Taste |
| btab 8 Back Tab-Taste - generiert die feste Sequenz (ESC[ Z) |
| ctrl 9 Control-Taste |
| lalt 10 (Left-hand alt key) ALT-Taste links |
| ralt 11 (Right-hand alt key) ALT-Taste rechts |
| lctrl 12 (Left-hand control key) CTRL-Taste links |
| rctrl 13 (Right-hand control key) CTRL-Taste rechts |
| agr 14 Taste ALT-GR (nur Europa) |
| fkey1 27 Funktionstaste #1 |
| . . |
| . . |
| . . |
| fkey96 122 Funktionstaste #96 |
| sysreq 123 Systemanforderung |
| brk 124 Break-Taste |
| escn 125 Generiert die Sequenz ESC N x, wobei x für den Wert |
| eines Scan-Codes ohne Alt-Taste steht |
| esco 126 Generiert die Sequenz ESC O x, wobei x für den Wert |
| eines Scan-Codes ohne Alt-Taste steht |
| escl 127 Generiert die Sequenz ESC L x, wobei x für den Wert |
| eines Scan-Codes ohne Alt-Taste steht |
| rboot 128 System neu starten |
| debug 129 Debugger des Systemkerns aufrufen |
| NEXT 130 Zum nächsten virtuellen Bildschirm in der Warte- |
| schlange umschalten |
| PREV 131 Zum vorhergehenden virtuellen Bildschirm in der Warte-|
| schlange umschalten |
| FNEXT 132 Erzwungenes Umschalten zum nächsten virtuellen Bild- |
| schirm in der Warteschlange |
| FPREV 133 Erzwungenes Umschalten zum vorhergehenden virtuellen |
| Bildschirm in der Warteschlange |
|_____________________________________________________________________|
Seite 10 Reliant UNIX 5.44 Gedruckt 11/98
keyboard(7) (Nur RM400) keyboard(7)
______________________________________________________________________
| Name Wert Bedeutung |
|_____________________________________________________________________|
| VTF 134 Erster virtueller Bildschirm (VT00) |
| . . |
| . . |
| . . |
| VTL 148 Letzter virtueller Bildschirm (VT14) |
| MGRF 149 Fensterverwaltung für virtuelle Bildschirme, erste |
| Sondertasten-Belegung. Ermöglicht die spezielle Bele- |
| gung einer Tastensequenz zur Durchführung von Funktio-|
| nen durch die Fensterverwaltung für virtuelle Bild- |
| schirme. Wird in der Tabelle SRQTAB benutzt. |
| . . |
| . . |
| . . |
| MGRL 179 Fensterverwaltung für virtuelle Bildschirme, letzte |
| Sondertasten-Belegung. Wird in der Tabelle SRQTAB |
| benutzt. |
|_____________________________________________________________________|
In der folgenden Tabelle sind die Namen und Dezimalwerte für die
ASCII-Zeichen in der obenstehenden Tabelle aufgeführt. Die Namen wur-
den anstelle der numerischen Konstanten benutzt, um die Lesbarkeit der
Scan-Code-Tabelle zu verbessern. In den ioctl-Puffer werden aus-
schließlich die Dezimalwerte gesetzt. Diese Werte werden ascii(5) ent-
nommen.
_______________________________________________________
| Name Wert| Name Wert| Name Wert| Name Wert|
|____________|_____________|_____________|_____________|
| nul 0 | ht 9 | dc2 18 | esc 27 |
| soh 1 | nl 10 | dc3 19 | fs 28 |
| stx 2 | vt 11 | dc4 20 | gs 29 |
| etx 3 | np 12 | nak 21 | rs 30 |
| eot 4 | cr 13 | syn 22 | ns 31 |
| enq 5 | so 14 | etb 23 | del 127 |
| ack 6 | si 15 | can 24 | |
| bel 7 | dle 16 | em 25 | |
| bs 8 | dc1 17 | sub 26 | |
|____________|_____________|_____________|_____________|
Seite 11 Reliant UNIX 5.44 Gedruckt 11/98
keyboard(7) (Nur RM400) keyboard(7)
Neubelegung der Tasten mit Zeichenketten
Die Abbildungstabelle für Zeichenketten, ein Array aus 512 Byte
(typedef strmapt), enthält die durch das Null-Zeichen abgeschlossenen
Zeichenketten, mit denen die Funktionstasten neu belegt werden. Die
erste durch das Null-Zeichen abgeschlossene Zeichenkette wird der
ersten Funktionstaste zugeordnet, die zweite der zweiten Funktiontaste
usw.
Die Zeichenketten dürfen beliebig lang sein; allerdings darf die
Tabelle (einschließlich der Null-Zeichen) maximal 512 Byte enthalten.
Um eine Zeichenkette Null zu machen, werden ihr zusätzliche Null-
Zeichen angefügt. Die folgende Tabelle enthält die Standard-Funktions-
tastenbelegungen.
____________________________________________________
| Standard-Funktionstastenbelegung |
|___________________________________________________|
| Funktions- Mit Mit Mit |
| taste# Allein Shift Ctrl Ctrl Shift|
|___________________________________________________|
| 1 ESC OP ESC Op ESC OP ESC Op |
| 2 ESC OQ ESC Oq ESC OQ ESC Oq |
| 3 ESC OR ESC Or ESC OR ESC Or |
| 4 ESC OS ESC Os ESC OS ESC Os |
| 5 ESC OT ESC Ot ESC OT ESC Ot |
| 6 ESC OU ESC Ou ESC OU ESC Ou |
| 7 ESC OV ESC Ov ESC OV ESC Ov |
| 8 ESC OW ESC Ow ESC OW ESC Ow |
| 9 ESC OX ESC Ox ESC OX ESC Ox |
| 10 ESC OY ESC Oy ESC OY ESC Oy |
| 11 ESC OZ ESC Oz ESC OZ ESC Oz |
| 12 ESC OA ESC Oa ESC OA ESC Oa |
|___________________________________________________|
ioctl-Funktionsaufrufe
KDGKBMODE
Mit diesem Funktionsaufruf rufen Sie den aktuellen Tastatur-Modus
ab. Das Ergebnis ist einer der folgenden in /usr/include/sys/kd.h
definierten Werte:
#define KRAW 0x00 /* Zeilen-Scan-Codes übermitteln */
#define KXLATE 0x01 /* Nach ASCII umsetzen */
KDSKBMODE
Mit diesem Funktionsaufruf wird der Tastatur-Modus eingestellt.
Als Argument kann bei diesem Funktionsaufruf entweder KRAW oder
KXLATE angegeben werden. Im Raw-Mode kann das Programm die über
die Tastatur generierten, unbearbeiteten Scan-Codes für "Taste
nicht gedrückt/gedrückt" interpretieren. Im Umsetzungs-Modus wird
der zugehörige Zeichen-Code anhand der Umsetzungstabellen generiert.
Seite 12 Reliant UNIX 5.44 Gedruckt 11/98
keyboard(7) (Nur RM400) keyboard(7)
KDGKBTYTE
Über diesen Funktionsaufruf wird der Tastatur-Typ abgerufen. Das
Ergebnis ist einer der folgenden in /usr/include/sys/kd.h defi-
nierten Werte:
#define KB84 0x00 /* 84-Tasten-Tastatur */
#define KB101 0x01 /* 101-Tasten-Tastatur */
#define KBOTHER 0x03 /* Sonstiger Tastaturtyp */
KDGKBENT
Dieser Funktionsaufruf liest einen der Einträge in den Umset-
zungstabellen. Als Argument kann bei diesem Funktionsaufruf die
Adresse einer der folgenden, in /usr/include/sys/kd.h definierten
Strukturen angegeben werden, wobei die ersten beiden Felder fol-
gendermaßen belegt sind:
struct kbentry
{
unchar kbtable; /* Zu benutzende Tabelle */
unchar kbindex; /* Eintrag in der Tabelle */
ushort kbvalue; /* Abzurufender/einzustellender Wert */
};
In das Feld kbtable dürfen folgende Werte eingetragen werden:
#define KNORMTAB 0x00 /* BASE*/
#define KSHIFTTAB 0x01 /* SHIFT*/
#define KALTTAB 0x02 /* ALT */
#define KALTSHIFTTAB 0x03 /* SHIFT+ALT */
#define KSRQTAB 0x04 /* SYSREQ-Tabelle auswählen */
Der ioctl-Funktionsaufruf ermittelt den betreffenden Eintrag
anhand der angegebenen Tabelle und gibt ihn in das dritte Feld
zurück.
Der KSRQTAB-Wert für das Feld kbtable ermöglicht den Zugriff
auf die indizierte Scan-Code-Tabelle, die die Zuweisung eines
vorgegebenen Auswahlcodes für einen virtuellen Bildschirm
(KVTF-KVTL) oder "Sondertasten"-Belegungen für die Fensterver-
waltung für virtuelle Bildschirme (KMGRF-KMGRL) ermöglicht.
Dem Auswahlcode für den virtuellen Bildschirm (KVTF) ist norma-
lerweise /dev/vt00 zugeordnet, in dem sich meist auch die Login-
Shell des Benutzers befindet. Zur Wahl von virtuellen Bildschir-
men können außerdem die folgenden Auswahlcodes angegeben werden:
Seite 13 Reliant UNIX 5.44 Gedruckt 11/98
keyboard(7) (Nur RM400) keyboard(7)
KVTF+1 für den ersten virtuellen Bildschirm (/dev/vt01)
KVTF+2 für den zweiten virtuellen Bildschirm (/dev/vt02)
. . .
KVTF+12 für den zwölften virtuellen Bildschirm (/dev/vt12)
KDSKBENT
Mit diesem Funktionsaufruf wird ein Eintrag in einer der Umset-
zungstabellen eingestellt. Er benutzt dieselbe Struktur wie der
ioctl-Funktionsaufruf KDGKBENT, nur befindet sich im dritten Feld
der Wert, der in die Umsetzungstabelle eingetragen werden sollte.
Dadurch kann eine Tastatur teilweise oder vollständig neu belegt
werden.
Durch den Treiber kd kann mit virtuellen Bildschirmen gearbeitet
werden. Das Gerät (minor device) der Konsole, /dev/vtmon, leitet
Tastaturanforderungen für virtuelle Bildschirme vom kd-Treiber an
den Prozeß weiter, der /dev/vtmon geöffnet hat. Für die Unter-
stützung von virtuellen Bildschirmen gibt es drei ioctl-
Funktionsaufrufe:
VTGETSTATE
Der ioctl-Funktionaufruf VTGETSTATE gibt globale Informa-
tionen über den Status des virtuellen Bildschirms zurück. Er
setzt den aktiven virtuellen Bildschirm in das Feld vactive
und die Anzahl der aktiven virtuellen Bildschirme sowie eine
Bit-Maske mit dem globalen Status in das Feld vtstate,
wobei Bit x für den Status von vt x steht (1 bedeutet, daß
der virtuelle Bildschirm geöffnet ist).
VTSENDSIG
Der ioctl-Funktionsaufruf VTSENDSIG gibt ein Signal (im
Feld vtsignal) zurück, das an eine Bit-Maske für virtuelle
Bildschirme (in vtstate) übermittelt werden soll.
Für die ioctl-Funktionsaufrufe VTGETSTATE und VTSENDSIG
wird folgende Datenstruktur benutzt:
struct vtstat
{
ushort vactive; /* Aktives vt */
ushort vsignal; /* Zu übermittelndes Signal (VTSENDSIG) */
ushort vstate; /* Bitmaske für virtuellen Bildschirm
(VTSENDSIG und VTGETSTATE) */
};
Diese Datenstruktur wird in /usr/include/sys/vt.h definiert.
VTOPENQRY
Mit ioctl-Funktionsaufruf VTOPENQRY wird der nächste ver-
fügbare virtuelle Bildschirm abgerufen. Dieser Wert wird im
letzten Argument des ioctl(2)-Funktionsaufrufs eingestellt.
Seite 14 Reliant UNIX 5.44 Gedruckt 11/98
keyboard(7) (Nur RM400) keyboard(7)
GIOKEYMAP
Mit diesem Funktionsaufruf kann die vollständige Tastenabbil-
dungs-Tabelle vom Systemkern abgerufen werden. Die Struktur des
Arguments ist in /usr/include/sys/kd.h definiert.
PIOKEYMAP
Dieser Funktionsaufruf stellt die vollständige Tastenabbildungs-
Tabelle ein. Die Struktur des Arguments wird in
/usr/include/sys/kd.h definiert.
GIOSTRMAP
Dieser Funktionsaufruf ruft die Tabelle ab, in der die Belegungen
der Funktionstasten mit Zeichenketten enthalten sind. Die Struk-
tur des Arguments wird in /usr/include/sys/kd.h definiert.
PIOSTRMAP
Dieser Funktionsaufruf stellt die Tabelle ein, in der die Bele-
gungen der Funktionstasten mit Zeichenketten enthalten sind. Die
Struktur des Arguments wird in /usr/include/sys/kd.h definiert.
TIOCKBOF
Deaktivierung der erweiterten Zeichen-Codes (Standard-Modus).
TIOCKBON
Ermöglicht die Übermittlung von Zeichen aus dem erweiterten Zei-
chensatz an das Benutzer-Programm. Die Zeichen werden als Null-
Byte (0x00) übermittelt, gefolgt von einem zweiten Byte mit dem
erweiterten Code des Zeichens. Ein echtes Null-Byte wird in Form
von zwei aufeinanderfolgenden Null-Bytes übermittelt.
Bei einer vollständig aktivierten Tastatur kann ein 8-Bit-Code
generiert werden, indem die ALT-Taste gedrückt gehalten und der
dreistellige Dezimalwert des Zeichens über den Nummernblock ein-
gegeben wird. Das Zeichen wird übermittelt, sobald die ALT-Taste
wieder losgelassen wird.
Einige über die Tastatur generierte Zeichen haben eine Sonderbe-
deutung. Über die Taste DELETE wird im Normalbetrieb ein Unter-
brechungssignal generiert, das an alle Prozesse übermittelt wird,
die dem betreffenden steuernden Bildschirm zugeordnet sind. Wenn
die ALT-Taste bei einer vollständig aktivierten Tastatur gedrückt
gehalten und gleichzeitig die Taste 8 auf der Schreibmaschinenta-
statur (nicht im Nummernblock) gedrückt wird, wird ein Null-Byte
sowie 0x7F übermittelt. Dadurch wird dieselbe Funktion wie über
die Taste DELETE (0x7F) ausgelöst, es sei denn, Sie haben das
Kommando stty(1) mit der Option -isig aufgerufen.
Seite 15 Reliant UNIX 5.44 Gedruckt 11/98
keyboard(7) (Nur RM400) keyboard(7)
KBENABLED
Wenn die Tastatur vollständig aktiviert ist (TIOCKBON), wird ein
Wert ungleich Null zurückgegeben, andernfalls (TIOCKBOF) der Wert
Null.
GETFKEY
Hiermit wird die aktuelle Belegung einer Funktionstaste ermit-
telt. Bei diesem Funktionsaufruf wird als Argument die Adresse
einer der folgenden in /usr/include/sys/kd.h definierten Struktu-
ren angegeben:
struct fkeyarg
{
unsigned int keynum;
char keydef [MAXFK]; /* Kommt von ioctl.h über comcrt.h */
char flen;
};
Die Nummer der Funktionstaste muß in keynum übergeben werden
(siehe Struktur arg, oben). Die Zeichenkette, mit der die Taste
aktuell belegt ist, wird beim Funktionsaufruf ioctl in keydef
zurückgegegeben und hat die Länge der Zeichenkette in flen.
SETFKEY
Weist einer Funktionstaste eine bestimmte Zeichenkette zu. Dieser
Funktionsaufruf benutzt dieselbe Struktur wie der ioctl-Funk-
tionsaufruf GETFKEY. Die Nummer der Funktionstaste muß in keynum
übergeben werden, die Zeichenkette in keydef und die Länge der
Zeichenkette (Anzahl der Zeichen) in flen.
DATEIEN
/dev/console
/dev/vt00-n
/usr/include/sys/kd.h
SIEHE AUCH
stty(1), vtlmgr(1M), ioctl(2), ascii(5), console(7), display(7),
termio(7).
Seite 16 Reliant UNIX 5.44 Gedruckt 11/98