[gtk+/multitouch: 96/123] gdk, xi2: Set GDK_BUTTON1_MASK on touch events
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/multitouch: 96/123] gdk, xi2: Set GDK_BUTTON1_MASK on touch events
- Date: Mon, 16 Jan 2012 18:50:19 +0000 (UTC)
commit 47a5873e1a08c384a786848995bd7f569fbcd50f
Author: Carlos Garnacho <carlosg gnome org>
Date: Sat Dec 24 14:38:32 2011 +0100
gdk,xi2: Set GDK_BUTTON1_MASK on touch events
GTK+ handles both touch and pointer events through the same
event handlers, so enable this modifier on touch events to
avoid much special casing.
gdk/x11/gdkdevicemanager-xi2.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
---
diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c
index 63f9bf8..2efc39c 100644
--- a/gdk/x11/gdkdevicemanager-xi2.c
+++ b/gdk/x11/gdkdevicemanager-xi2.c
@@ -1190,6 +1190,9 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
event->button.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group);
+ if (ev->evtype == XI_TouchBegin)
+ event->button.state |= GDK_BUTTON1_MASK;
+
#ifdef XINPUT_2_2
if (ev->evtype == XI_TouchBegin ||
ev->evtype == XI_TouchEnd)
@@ -1254,6 +1257,9 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
event->motion.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group);
+ if (ev->evtype == XI_TouchUpdate)
+ event->motion.state |= GDK_BUTTON1_MASK;
+
/* There doesn't seem to be motion hints in XI */
event->motion.is_hint = FALSE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]