Terms-LogoTerms97801 Version 1.2 Online Handbuch

Inhalt Index Voriges Kapitel Vorige Seite Nächste Seite Nächstes Kapitel Kapitel: 1 2 3 4 5 6 7 8 9 10 11 Anhang


5.4 Nicht-Standard-Tastaturen und OEM-Codes

In der Praxis werden für den Einsatz einer 97801-Emulation gerne Tastaturen verwendet, die alle Tasten eines 97801-Terminals besitzen. Eine solche Tastatur, wegen ihrer doppelten oder gar dreifachen Nutzungsmöglichkeit auch bimodale oder trimodale Tastatur genannt, funktioniert zusammen mit dem Standard-Tastaturtreiber von Windows, jedoch nur für die Tasten, die auch auf der Standard-PC-Tastatur zu finden sind.

5.4.1 Trimodale Tastatur mit Windows-Tastaturtreiber

Falls für eine bi- oder trimodale Tastatur ein Windows-Tastaturtreiber vorhanden ist, kann dieser verwendet werden. Ein solcher Tastaturtreiber ist leider nicht im Lieferumfang einer solchen Tastatur enthalten. Solange dieser Tastaturtreiber nicht von weiteren Programmen benötigt wird, wird von dessen Verwendung abgeraten. Stattdessen sollte die Lösung ohne den Tastaturtreiber realisiert werden. Eventuelle Fehler des Tastaturtreibers werden vermieden und die Tasten-Information kann die Tasten besser benennen.

Wird ein Nicht-Standard-Tastatur-Treiber verwendet, so muß er in der system.ini statt des Standard-Treibers angegeben werden. Dies wird meist im Rahmen einer Installationsprozedur automatisch und ohne Hinweis vorgenommen.

Der Standard-Eintrag sieht normalerweise so aus:

[boot]
...
keyboard.drv=keyboard.drv
....

Bei der Verwendung eines speziellen Windows-Tastaturtreibers, also mit einem anderen Eintrag als dem obigen, muß für Terms97801 eine entsprechende Tastaturtabelle verwendet werden, die den virtuellen Keycodes der zusätzlichen Tasten den richtigen 97801-Scancode zuordnet. Hierbei sollte beachtet werden, daß die Funktionstasten F13 - F22 von dem Treiber nicht unbedingt auf VK_F13 - VK_F22 abgebildet werden. In der Beispieltabelle pcto978.key finden sich die auskommentierten Einträge für den Treiber der trimodalen Tastatur.

Es ist auch möglich, die zusätzlichen Einträge der Tastaturtabelle über die interaktive Tastenprogrammierung zu erzeugen.

5.4.2 Trimodale Tastatur ohne Windows-Tastaturtreiber

Ist für die verwendete Tastatur kein Windows-Treiber vorhanden, gibt es die Möglichkeit, Terms97801 mit einer eigenen Umsetzung der OEM-Scancodes auf virtuelle Keycodes arbeiten zu lassen. Hierzu muß eine Umsetzungstabelle angegeben werden. Am einfachsten geschieht dies über den Dialog System..Terminal..OEM-Tastatur. Die Umsetzungstabelle kann auch in der Terms97801-Ini-Datei eingetragen werden:

[Keyboard]
....
OEMtoVK=b22tovk.oem
...

Ist eine Umsetzungstabelle angegeben, erzeugt sich Terms97801 eigene virtuelle Keycodes. Die Umsetzungstabelle hat folgenden Aufbau:

<OEM-Scancode>:<virtueller keycode>
<OEM-Scancode>:<virtueller keycode>
....

Leerzeilen und Kommentare, die mit ';' beginnen, sind erlaubt.

In der Tabelle muß der OEM-Scancode für jede Taste als hexadezimaler Wert angegeben werden, gefolgt von einem Doppelpunkt und dem hexadezimalen Wert des zugeordneten virtuellen Keycodes.

Der Wert für den virtuellen Keycode liegt zwischen 00 und ff. Der Wert für den OEM-Scancode liegt zwischen 00 und 7f, mit eventuell vorangestellter 1 für die 'extended keys'.

Beispiel:

01:1b; Esc
02:31; 1
03:32; 2
04:33; 3
...
79:f1; del line
...
11c:0d; Eingabe Ziffernblock
....
135:6f; / Ziffernblock

Die 'extended keys' sind diejenigen Tasten, die zusätzlich über die Tasten des Ziffernblocks erreicht werden können. Zur Umschaltung der Bedeutung der Tasten des Ziffernblocks dient die NUMLOCK-Taste. Windows gibt je nach Zustand der NUMLOCK-Taste unterschiedliche virtuelle Keycodes ab. Diese Eigenschaft geht bei der Verwendung der OEM-Tabelle verloren; die Tastatur verhält sich in diesem Punkt wie eine echte 97801-Tastatur. Das Lämpchen zur Anzeige des Zustands der NUMLOCK-Taste wird von Terms97801 als Ch.-Code-Lämpchen verwendet.

Die Vergabe von virtuellen Keycodes ist prinzipiell beliebig, solange die Terms97801-Tastaturtabelle auf diese Codes abgestimmt ist. Durch die Tasteninfo-Funktion von Terms97801 sind die virtuellen Keycodes festgelegt. Die gilt auch für diejenigen virtuellen Keycodes, die neu vereinbart werden müssen, da sie durch Microsoft nicht definiert sind.

Eine Liste der virtuellen Keycodes befindet sich im Anhang A.2.

HINWEIS: Die Taste, die von Windows als VK_SNAPSHOT interpretiert wird macht ein paar Probleme. Diese Taste, auf der Standard-PC-Tastatur mit 'Druck/S-Abf' bezeichnet, hat die Windows-Funktion, den aktuellen Bildschirminhalt in die Zwischenablage zu kopieren. Außer der unangenehmen Eigenschaft den Inhalt der Zwischenablage zu verändern, hat diese Taste noch das Problem, vom System nicht an Programme, also auch Terms97801, weitergereicht zu werden. Genauer gesagt, das System gibt für diese Taste in Hoch- oder Strg-Kombination keine Nachricht an Programme, und in der Alt-Kombination und als normaler Tastendruck nur die Nachricht, daß die Taste losgelassen wurde.

Unangenehm an den trimodalen Tastaturen ist die Tatsache, daß bestimmte Funktionstasten (je nach Variante) von Windows als VK_SNAPSHOT interpretiert werden.

Während für alle anderen Tasten nur das Niederdrücken der Taste ausgewertet wird, wertet Terms97801 für diese Taste das Loslassen aus. Damit ist es möglich, auch diese Taste zu verwenden. Der aktuelle Inhalt der Zwischenablage wird aber durch diese Taste gelöscht.

5.4.3 Das Tastatur-Utility TermsKey

Im Lieferumfang befinden sich einige OEM-Tabellen. Da es jedoch sehr viele verschiedene Varianten der trimodalen Tastatur gibt, kann es nötig sein, die vorhandenen Tabellen abzuändern. Um die OEM-Codes zu herauszufinden, die von der Tastatur abgegeben werden, wurde das Tastatur-Utility termskey.exe in den Lieferumfang aufgenommen.

Da dieses Utility alle Tasten anzeigen soll, ist jegliche Windows-Tastatur-Funktion abgeschaltet. Ohne Maus kann das Programm weder beendet werden, noch auf ein anderes Programm umgeschaltet werden.


Abb. 22: Tastatur-Utility TermsKey

Der OEM-Scancode ist Bestandteil des lParam-Parameters; der Einfachkeit halber wird der OEM-Scancode nochmals in einer eigenen Spalte angezeigt.

5.4.4 Die OEM-Tabelle für die Standardtastatur

Eine Nutzung der OEM-Umsetzung kann auch für die Standardtastatur sinnvoll sein. Durch eine geeignete OEM-Tabelle kann zwischen den beiden ENTER-Tasten unterschieden werden und so z.B. die MENU-Taste auf die ENTER-Taste des Ziffernblocks gelegt werden. Ohne OEM-Tabelle ist dies nicht möglich, da beide ENTER-Tasten denselben virtuellen Keycode abliefern.

Eine OEM-Tabelle, die die Standardtastatur auf dieselben virtuellen Keycodes umsetzt wie der Standard-Tastaturtreiber, findet sich als pctovk.oem im Lieferumfang. Diese Tabelle kann als Ausgangsbasis für eigene Modifikationen genommen werden.

5.4.5 Die Windows95 Tastatur

Im Vorfeld der Windows95-Einführung wird von Microsoft eine spezielle Windowstastatur propagiert. Diese Tastatur unterscheidet sich gegenüber den herkömmlichen Tastaturen durch drei zusätzliche Tasten, die Anwendungstaste und linke bzw. rechte Windowstaste genannt werden.

Diese Tasten können genau wie alle anderen Tasten unter Terms97801 programmiert und verwendet werden. Die Anwendungstaste ist dann ein guter Kandidat für die MENU-Taste des 97801-Terminals.


Terms-LogoTerms97801 Version 1.2 Online Handbuch

Inhalt Index Voriges Kapitel Vorige Seite Nächste Seite Nächstes Kapitel Kapitel: 1 2 3 4 5 6 7 8 9 10 11 Anhang