2009-11-23 9 views

Répondre

0

Si vous utilisez Windows, utilisez PyHook Si vous voulez savoir l'échelle du système des événements de presse clés.

import pythoncom, pyHook 

def OnKeyboardEvent(event): 
    print 'Ascii:', event.Ascii, chr(event.Ascii) 
    print 'Key:', event.Key 
    print 'KeyID:', event.KeyID 
    print 'ScanCode:', event.ScanCode 
    print 'Extended:', event.Extended 

    return True #for pass through key events, False to eat Keys 

hm = pyHook.HookManager() 
hm.KeyDown = OnKeyboardEvent 
hm.HookKeyboard() 
pythoncom.PumpMessages() 
0

Essayez:

import sys 
c = sys.stdin.read(1) 
1

Si vous utilisez Linux, il est trouvé dans le module curses, si vous utilisez Windows, il est dans le module msvcrt. J'ai trouvé article suivant très utile pour décrire ce sujet - Event Driven Programming

+0

msvcrt.getch() semble planter mon application WX –

+0

Soit poster une information de retraçage ou donner plus de détails sur ce qui se passe dans le code. Même en utilisant 'msvcrt', vous devrez écrire des gestionnaires d'événements et les appeler depuis votre boucle de minuterie. Toutefois, compte tenu de votre commentaire sur l'exécution en arrière-plan, msvcrt devrait être ce que vous cherchez. Vous aurez juste besoin de comprendre comment l'utiliser dans votre cas particulier. – artdanil

+0

il n'y a pas de traceback, mon application se bloque juste. –

Questions connexes