diff options
author | Walter Bender <walter.bender@gmail.com> | 2011-10-03 11:56:23 (GMT) |
---|---|---|
committer | Walter Bender <walter.bender@gmail.com> | 2011-10-03 11:56:23 (GMT) |
commit | 123dee9349fefffff841d853cde626c990b2f7b1 (patch) | |
tree | 2b162f0d2accd7372f31b7f9fc036cf7614f5bb6 /bounce.py | |
parent | ee6634dc35fac08c898ea8fc5892d84cdf592bbd (diff) |
stop movement on key release event
Diffstat (limited to 'bounce.py')
-rw-r--r-- | bounce.py | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -116,10 +116,13 @@ class Bounce(): self.canvas.add_events(gtk.gdk.BUTTON_PRESS_MASK) self.canvas.add_events(gtk.gdk.BUTTON_RELEASE_MASK) self.canvas.add_events(gtk.gdk.POINTER_MOTION_MASK) + self.canvas.add_events(gtk.gdk.KEY_PRESS_MASK) + self.canvas.add_events(gtk.gdk.KEY_RELEASE_MASK) self.canvas.connect('expose-event', self._expose_cb) self.canvas.connect('button-press-event', self._button_press_cb) self.canvas.connect('button-release-event', self._button_release_cb) self.canvas.connect('key_press_event', self._keypress_cb) + self.canvas.connect('key_release_event', self._keyrelease_cb) self.width = gtk.gdk.screen_width() self.height = gtk.gdk.screen_height() - GRID_CELL_SIZE self.sprites = Sprites(self.canvas) @@ -291,6 +294,11 @@ class Bounce(): self.dx = 0 return True + def _keyrelease_cb(self, area, event): + ''' Keyrelease: stop horizontal movement ''' + self.dx = 0 + return True + def _expose_cb(self, win, event): ''' Callback to handle window expose events ''' self.sprites.redraw_sprites(event.area) |