Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/bounce.py
diff options
context:
space:
mode:
authorWalter 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)
commit123dee9349fefffff841d853cde626c990b2f7b1 (patch)
tree2b162f0d2accd7372f31b7f9fc036cf7614f5bb6 /bounce.py
parentee6634dc35fac08c898ea8fc5892d84cdf592bbd (diff)
stop movement on key release event
Diffstat (limited to 'bounce.py')
-rw-r--r--bounce.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/bounce.py b/bounce.py
index 9e0e69f..1065c44 100644
--- a/bounce.py
+++ b/bounce.py
@@ -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)