Warum hat der Escape-Schlüssel in Python-Flüchen eine Verzögerung?

8

Im Modul Python curses habe ich beobachtet, dass es zwischen dem Drücken der Taste esc und dem Zurückkehren von getch() eine Verzögerung von ungefähr einer Sekunde gibt. Diese Verzögerung scheint für andere Schlüssel nicht aufzutreten. Warum passiert das und was kann ich dagegen tun?

Testfall:

%Vor%

Ergebnisse:

%Vor%     
augurar 09.12.2014, 05:29
quelle

3 Antworten

11

Um die ESC-Verzögerung anzupassen, können Sie die Umgebungsvariable ESCDELAY setzen, die verwendet, um die Zeit in Millisekunden zu bestimmen, die gewartet wird, bevor der Esc-Schlüssel ausgegeben wird.

Um diese Variable in Python zu definieren, könnten Sie beispielsweise die folgende Funktion vor Ihrem Aufruf von curses.wrapper(main) :

aufrufen %Vor%

wird die Umgebungsvariable auf 25 ms setzen, wenn sie vorher nicht gesetzt wurde.

Weitere Informationen: Ссылка .

Siehe auch die man-Seite von ncurses .

    
Salo 19.01.2015, 08:31
quelle
2

Curses behandelt "Escape-Sequenzen" von Ihrem Terminal aus, um Befehle für die Software darzustellen. Diese Sequenzen beginnen normalerweise mit einem Escape-Zeichen. Wenn Sie also ESC drücken, gibt der Curses-Code nichts aus, wenn dies den Beginn einer Escape-Sequenz darstellt.

    
holdenweb 09.12.2014 06:36
quelle
1

ESCDELAY = 25 ... setze dies in global.

    
linux 17.12.2014 16:16
quelle

Tags und Links