Ayuda con error pyHook

Estoy tratando de hacer una tecla de acceso directo global con pyhook en python que se supone que funciona solo con la tecla alt presionada.

Aquí está la fuente:

import pyHook import pythoncom hm = pyHook.HookManager() def OnKeyboardEvent(event): if event.Alt == 32 and event.KeyID == 49: print 'HERE WILL BE THE CODE' hm.KeyDown = OnKeyboardEvent hm.HookKeyboard() pythoncom.PumpMessages() 

pero cuando ejecuto, solo funciona con la segunda pulsación de la segunda tecla (número 1 = 49) … y da este error:

http://img580.imageshack.us/img580/1858/errord.png

¿Cómo puedo resolverlo? Para el trabajo en el primer tiempo presionado.

Tenga en cuenta en el tutorial que necesita un valor de retorno al final de su controlador:

 def OnKeyboardEvent(event): if event.Alt == 32 and event.KeyID == 49: print 'HERE WILL BE THE CODE' # return True to pass the event to other handlers return True 

Estoy de acuerdo en que es ambiguo con respecto a los documentos si eso es necesario, pero sí es necesario que devuelva Verdadero o Falso (o posiblemente cualquier valor entero), con cualquier valor “falso” (por ejemplo, 0) que bloquee el evento de tal manera que ningún otro manejador lo obtenga. (Esto le permite tragar ciertas pulsaciones de forma condicional, como en la sección Filtrado de eventos del tutorial).

(Esto no fue tan fácil de entender como podría parecer! :-))