2009-01-02 11 views

Antwort

11

Ein Terminal konvertiert den Steuerschlüssel in Kombination mit einem Buchstabenschlüssel in einen normalen ASCII-Code. Dies kann wie bei jedem anderen Tastendruck von der getch() - Funktion abgelesen werden.

CTRL-A: getch() returns 1 
CTRL-B: getch() returns 2 
... 
CTRL-Z: getch() returns 26 

Auch die keypad() Funktion muss (zum Beispiel Pfeil nach links, F1, zu Hause, usw.) zu ermöglichen, andere Sonderfunktionstasten aufgerufen werden.

Ich glaube nicht, dass es eine portable Möglichkeit gibt, Meta-Schlüssel (z. B. ALT-H) über ein Terminal zu empfangen. Einige senden einen Escape-Befehl (0x1B), gefolgt vom geänderten Schlüssel, während andere das High-Bit setzen und nur ein Byte senden.