The solution was right there as a comment in your code: you need to add
"return True" if you want to pass the keypress along. Conversely, "return
False" will block it.

Something like:

def OnKeyboardEvent(event):
     print event.ScanCode, event.Key
     return True





On Mon, Mar 19, 2012 at 6:32 PM, Ryan Strunk <ryan.str...@gmail.com> wrote:

> Hi everyone,
> I wrote a little while back about how I wanted to tie the arrow keys
> specifically to my program so that they could be used exclusively for the
> program instead of being intercepted by a screen reader. I attempted to
> modify the code from the tutorial I found, but it is producing some rather
> strange results. In addition to not allowing the arrow keys to work inside
> of the program, the program also blocks the arrow keys in other windows.
> Can
> anyone tell me, please, what is going wrong and how I can fix it?
> Here is the code I have pasted at the bottom of my main file:
> def OnKeyboardEvent(event):
> # return True to pass the event to other handlers
>  return (event.Key not in ['Up', 'Down', 'Right', 'Left'])
>
> # create a hook manager
> hm = pyHook.HookManager()
> hm.KeyDown = OnKeyboardEvent
> hm.HookKeyboard()
> pythoncom.PumpMessages()
>
> Thanks for your help.
> Best,
> Ryan
>
>

Reply via email to