class Keyboard(object): # allow access to pyglet.window.key keys = pyglet.window.key down = "down" up = "up" def __init__(self, window, name="keyboard"): super(Keyboard, self).__init__() self.name = name self.window = window self.key_state = pyglet.window.key.KeyStateHandler() self.digital = Digital(self.name) self.window.push_handlers(self.key_state) self.window.push_handlers(on_key_press=self.on_key_press, on_key_release=self.on_key_release) def __del__(self): if self.window != None: self.window.remove_handlers(self.on_key_press, self.on_key_release, self.key_state) def is_key_down(self, key): return self.key_state[key] def __getitem__(self, k): # Handles [] operator # redirect to our keyboard handler return self.key_state[k] def on_key_press(self, symbol, modifiers): """ Pyglet event handler method. Notifies and handlers of the event via their 'on_key_press' method. Do NOT rename this function. """ self.digital.dispatch_event("on_digital_input", self.digital, Keyboard.down, (symbol, modifiers)) def on_key_release(self, symbol, modifiers): """ Pyglet event handler method. Notifies and handlers of the event via their 'on_key_release' method. Do NOT rename this function. """ self.digital.dispatch_event("on_digital_input", self.digital, Keyboard.up, (symbol, modifiers))
class Keyboard( object ): # allow access to pyglet.window.key keys = pyglet.window.key down = 'down' up = 'up' def __init__( self, window, name = 'keyboard' ): super( Keyboard, self ).__init__() self.name = name self.window = window self.key_state = pyglet.window.key.KeyStateHandler() self.digital = Digital( self.name ) self.window.push_handlers( self.key_state ) self.window.push_handlers( on_key_press = self.on_key_press, on_key_release = self.on_key_release ) def __del__( self ): if self.window != None: self.window.remove_handlers( self.on_key_press, self.on_key_release, self.key_state ) def is_key_down( self, key ): return self.key_state[ key ] def __getitem__( self, k ): # Handles [] operator # redirect to our keyboard handler return self.key_state[ k ] def on_key_press( self, symbol, modifiers ): """ Pyglet event handler method. Notifies and handlers of the event via their 'on_key_press' method. Do NOT rename this function. """ self.digital.dispatch_event( 'on_digital_input', self.digital, Keyboard.down, (symbol, modifiers) ) def on_key_release( self, symbol, modifiers ): """ Pyglet event handler method. Notifies and handlers of the event via their 'on_key_release' method. Do NOT rename this function. """ self.digital.dispatch_event( 'on_digital_input', self.digital, Keyboard.up, (symbol, modifiers) )