[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] full keyboard control



doesn't that code block tab entirely? as opposed to just alt-tab?

On Tue, Apr 8, 2008 at 11:24 AM, Brian Davis <intrepidhero@xxxxxxxxx> wrote:
> pyHook looks to be the way to go. I just posted a recipe to the ASPN
>  cookbook that is basically the example Brian F. linked to above with a
>  few mods to block the windows key and alt-tab and use the pygame event
>  pump. No matter what you do pyHook won't block the ctrl-alt-del
>  combination which seems like a good thing.
>
>  Here's the link to the recipe:
>  http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/553270
>  And the code if that link doesn't work:
>  import pyHook
>  import pygame
>
>  # create a keyboard hook
>  def OnKeyboardEvent(event):
>         print 'MessageName:',event.MessageName
>         print 'Message:',event.Message
>         print 'Time:',event.Time
>         print 'Window:',event.Window
>         print 'WindowName:',event.WindowName
>         print 'Ascii:', event.Ascii, chr(event.Ascii)
>         print 'Key:', event.Key
>         print 'KeyID:', event.KeyID
>         print 'ScanCode:', event.ScanCode
>         print 'Extended:', event.Extended
>         print 'Injected:', event.Injected
>         print 'Alt', event.Alt
>         print 'Transition', event.Transition
>         print '---'
>         if event.Key.lower() in ['lwin', 'tab', 'lmenu']:
>                 return False    # block these keys
>         else:
>                 # return True to pass the event to other handlers
>                 return True
>
>  # create a hook manager
>  hm = pyHook.HookManager()
>  # watch for all keyboard events
>  hm.KeyDown = OnKeyboardEvent
>  # set the hook
>  hm.HookKeyboard()
>
>  # initialize pygame and start the game loop
>  pygame.init()
>
>  while(1):
>         pygame.event.pump()
>
>  Thanks to everbody for the help!
>
>  -Brian
>