Navigation in diesen ACSpro-Seiten
Hilfe zur Navigation
Einführung in ACSpro
Einführung
ACS-Beispiele
Beispiele
Rechtliches
Rechtliches
ACSpro ist Shareware
Shareware-Bed.
Die ACSpro-Mailing-Listen
Mailing-Listen
Kontakt-Aufnahme
Kontakt
Download von ACSpro
Download
Installation von ACSpro
Installation
History & ToDo-Liste
History, ToDo-Liste
Der Atari-WebRing
ATARI-Webring
Home NKCC — Der "Normalized Key-Code Converter" NKCC — Der "Normalized Key-Code Converter" Die NKCC-Funktionstasten
   ACSpro
 Einführung in ACSpro
 NKCC — Der "Normalized Key-Code Converter"

NKCC-Tastencodes

Tastencodes, wie z.B. ev_mkreturn, werden von NKCC, und damit auch von ACSpro, als 16 Bit Integer zurückgeliefert. Im nieder-wertigen Byte steckt der ASCII-Teil des Tastencodes, das höherwertige Byte enthält eine Reihe von Flags. Die genaue Belegung sieht so aus:

Bit Symbolischer Name Inhalt
0...7 ASCII-Code/Funktionscode
8 NKF_RSH Flag für rechte Shift-Taste
9 NKF_LSH Flag für linke Shift-Taste
10 NKF_CTRL Flag für Control-Taste
11 NKF_ALT Flag für Alternate-Taste
12 NKF_CAPS CapsLock-Status
13 NKF_NUM Flag: Zehnerblock
14 NKF_IGNUM reserviert, muß ignoriert werden!
15 NKF_FUNC Funktionsflag

Bit 8...11 geben an, ob die jeweilige Taste gedrückt war. In Bit 12 steht, ob CapsLock zur Zeit aktiv ist oder nicht. Ist Bit 13 gesetzt, befindet sich die Taste auf dem Zehnerblock. Bit 14 wird für interne Zwecke verwendet und hat nur im ersten Parameter der Funktion nkc_cmp() eine spezielle Bedeutung (siehe dort).

Schließlich gibt es noch Bit 15, daß angibt, ob es sich um eine funktionsbezogene Taste (Bit gesetzt) oder ein druckbares Zeichen (Bit gelöscht) handelt.

Einige Tastenkombinationen können niemals von NKCC zurückgeliefert werden.

Aussagekräftige Konstanten zum 'leserlichen' Erkennen der Codes befinden sich jeweils in ACS.H bzw. ACS.PAS.


Copyright © Martin Elsässer (E-Mailadressen)
Letzte Aktualisierung am 25. März 2008
Home NKCC — Der "Normalized Key-Code Converter" NKCC — Der "Normalized Key-Code Converter" Die NKCC-Funktionstasten