Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGonzalo Odiard <godiard@gmail.com>2012-10-01 20:07:02 (GMT)
committer Gonzalo Odiard <godiard@gmail.com>2012-10-01 20:07:02 (GMT)
commit2e622ad05885d1309f59c5a72aa60a09a2113df8 (patch)
tree400ca1b52a8c39efdcb51994a5460d528cac903c
parente7ef8f1d6b0e2502a5c4ac61b5409d595a01effa (diff)
Improvemets to catch mouse events too.
Signed-off-by: Walter Bender <walter.bender@gmail.com>
-rw-r--r--touch_test.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/touch_test.py b/touch_test.py
index 44cd771..fd82424 100644
--- a/touch_test.py
+++ b/touch_test.py
@@ -14,21 +14,27 @@ class TestTouch(Gtk.DrawingArea):
self.touches = {}
super(TestTouch, self).__init__()
self.set_events(Gdk.EventMask.TOUCH_MASK)
+ self.add_events(Gdk.EventMask.BUTTON_PRESS_MASK)
+ self.add_events(Gdk.EventMask.BUTTON_RELEASE_MASK)
+ self.add_events(Gdk.EventMask.BUTTON_MOTION_MASK)
self.connect('draw', self.__draw_cb)
self.connect('event', self.__event_cb)
def __event_cb(self, widget, event):
if event.type in (Gdk.EventType.TOUCH_BEGIN,
Gdk.EventType.TOUCH_CANCEL, Gdk.EventType.TOUCH_END,
- Gdk.EventType.TOUCH_UPDATE):
- x = event.touch.x
- y = event.touch.y
+ Gdk.EventType.TOUCH_UPDATE, Gdk.EventType.BUTTON_PRESS,
+ Gdk.EventType.BUTTON_RELEASE, Gdk.EventType.MOTION_NOTIFY):
+ x = event.get_coords()[1]
+ y = event.get_coords()[2]
seq = str(event.touch.sequence)
if event.type in (Gdk.EventType.TOUCH_BEGIN,
- Gdk.EventType.TOUCH_UPDATE):
+ Gdk.EventType.TOUCH_UPDATE, Gdk.EventType.BUTTON_PRESS,
+ Gdk.EventType.MOTION_NOTIFY):
self.touches[seq] = (x, y)
- elif event.type == Gdk.EventType.TOUCH_END:
+ elif event.type in (Gdk.EventType.TOUCH_END,
+ Gdk.EventType.BUTTON_RELEASE):
del self.touches[seq]
self.queue_draw()