On Nov 22, 2:09 am, Tristam MacDonald <[email protected]> wrote: > On Sat, Nov 21, 2009 at 9:00 PM, claudio canepa <[email protected]> wrote: > > > On Sat, Nov 21, 2009 at 2:37 PM, gurkesaft <[email protected]> wrote: > > >> Hello, > > >> I'm using pyglet 1.1.3 on windows XP, python2.6. In deriving a class > >> with Window() as a base, I noticed that overriding the on_key_release > >> () did not seem to work. None of the code in this method would run > >> when I released a key, while on_key_press() worked fine. > > >> From the command line, it seems pretty clear: > > >> >>> import pyglet > >> >>> w = pyglet.window.Window() > > >> Then typing > > >> >>> w.on_key_press > > >> gives the result > > >> <bound method Win32Window.on_key_press of > >> <pyglet.window.win32.Win32Window object at 0x03328EB0>> > > >> and typing > > >> >>> w.on_key_release > > >> gives the result > > >> AttributeError: 'Win32Window' object has no attribute 'on_key_release' > > >> While typing, auto-complete also shows me that on_key_release is not > >> in the list. So it seems I don't have access to the on_key_release, > >> but it is in the documentation. > > >> Anyone else experiencing this? > > >> Regards, > >> Jack > > > I see the same, but it is fine: > > 1. run the sample events.py found in the examples directory ( pyglet doc > > and examples package), you will see that pyglet knows about key release > > events. > > > 2. try this simple script: > > > import pyglet > > window = pyglet.window.Window() > > @window.event > > def on_key_release(key, modifiers): > > print 'released' > > pyglet.app.run() > > > it will show that the key release events hit the on_key_release defined in > > the script. > > To expand on that, the only reason that pyglet.window.Window has an > attribute 'on_key_pressed', is that it contains a default handler for key > down events (quits if the ESC key is pressed). > > -- > Tristam MacDonaldhttp://swiftcoder.wordpress.com/
Right - there is no 'on_key_release' method on window.Window because that class doesn't have any *handler* for those events. But the events are still happening as they should, and you can opt to add your own handler, like claudio's, if you choose. -- You received this message because you are subscribed to the Google Groups "pyglet-users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/pyglet-users?hl=.
