2009-11-23 6 views

ответ

0

Если вы используете Windows, используйте PyHook Если вы хотите знать, общесистемные события нажатия клавиш.

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() 
1

Если вы используете Linux он находится в curses модуле, если вы используете Windows, это в msvcrt модуле. я нашел следующую статью очень полезную в описании этой темы - Event Driven Programming

+0

msvcrt.getch(), кажется, врезаться мое WX приложение –

+0

либо опубликовать информацию или дать обратное прослеживание более подробную информацию о том, что происходит в коде. Даже используя 'msvcrt', вам нужно будет написать обработчики событий и вызвать их из цикла таймера. Однако, учитывая ваш комментарий о выполнении фона, 'msvcrt' должен быть тем, что вы ищете. Вам просто нужно выяснить, как использовать его в вашем конкретном случае. – artdanil

+0

нет следа, мое приложение просто блокируется. –

Смежные вопросы