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.