Frage

Wie kann ich Tastenkombinationen wie ALT + K oder STRG + ALT + H fangen in python curses?

War es hilfreich?

Lösung

Ein Terminal wandelt die Steuertaste in Kombination mit einem Buchstaben Schlüssel zu einem normalen ASCII-Code. Dies kann von der gelesen werden getch () Funktion wie jede andere Taste drücken .

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

Auch die Tastatur () Funktion aufgerufen werden muss, damit andere Sonderfunktionstasten (zB Pfeil nach links, F1, zu Hause, usw.).

Ich glaube nicht, gibt es eine tragbare Art und Weise ist Meta-Tasten (zum Beispiel ALT-H) über einen Anschluss zu empfangen. Einige senden eine Flucht (0x1B) durch die modifizierten Schlüssel gefolgt, während andere den High-Bit gesetzt und nur ein Byte senden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top