Seite 1 von 1

Keyboardstate/Shiftstate (Konsolenanwendung)

Verfasst: Sonntag 22. Februar 2009, 13:18
von flogo
Hi,

Ich würde in einem kleinen script gerne warten bis eine Taste nicht mehr gedrückt ist. das Problem dabei ist, dass die Taste schon vor dem Programmstart runtergedrückt wird und eventuell auch schon wieder losgelassen wurde.

Der Hintergrund:
Das Programm wird per hotkey aufgerufen und schickt selber wieder Tastendrücke an andere Programme. Wenn der hotkey zB Strg+E ist, und der gesendete string "foo", dann reagiert das Zielprogramm auf Strg+f, indem es den Suchdialog öffnet.

Verfasst: Sonntag 22. Februar 2009, 15:01
von HWK
Unter Windows vielleicht so:

Code: Alles auswählen

import msvcrt

# Warten, bis Strg+E losgelassen wird
while msvcrt.kbhit() and msvcrt.getch() == '\x05':
    pass
MfG
HWK

Verfasst: Sonntag 22. Februar 2009, 15:31
von flogo
Danke für die Antwort. Ich brauche leider eine Lösung für Linux (sorry hätte ich gleich dazusagen sollen :oops: )

Verfasst: Sonntag 22. Februar 2009, 17:31
von HWK
curses sollte helfen. Z.B. getch() im no-delay-Mode.
MfG
HWK