From 2a106a33d170ad65e224547bfc2c66007d8c8d6e Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Sun, 18 Sep 2011 09:46:38 +0200 Subject: [PATCH] gdk: Update touch events to latest spec --- gdk/x11/gdkdevice-xi2.c | 4 +--- gdk/x11/gdkdevicemanager-xi2.c | 19 ++++++------------- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/gdk/x11/gdkdevice-xi2.c b/gdk/x11/gdkdevice-xi2.c index bd9cb2e60f..4a1ddb3946 100644 --- a/gdk/x11/gdkdevice-xi2.c +++ b/gdk/x11/gdkdevice-xi2.c @@ -694,10 +694,8 @@ _gdk_x11_device_xi2_translate_event_mask (GdkEventMask event_mask, if (event_mask & GDK_TOUCH_MASK) { XISetMask (mask, XI_TouchBegin); - XISetMask (mask, XI_TouchMotion); - XISetMask (mask, XI_TouchMotionUnowned); + XISetMask (mask, XI_TouchUpdate); XISetMask (mask, XI_TouchEnd); - XISetMask (mask, XI_TouchOwnership); } #endif /* XINPUT_2_1 */ diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c index e30397ad70..c9c262fc6e 100644 --- a/gdk/x11/gdkdevicemanager-xi2.c +++ b/gdk/x11/gdkdevicemanager-xi2.c @@ -876,8 +876,7 @@ get_event_window (GdkEventTranslator *translator, case XI_ButtonRelease: case XI_Motion: #ifdef XINPUT_2_1 - case XI_TouchMotion: - case XI_TouchMotionUnowned: + case XI_TouchUpdate: case XI_TouchBegin: case XI_TouchEnd: #endif /* XINPUT_2_1 */ @@ -1143,9 +1142,10 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator, else { #ifdef XINPUT_2_1 - if (ev->evtype == XI_TouchBegin || - ev->evtype == XI_TouchEnd) - event->button.type = (ev->evtype == XI_TouchBegin) ? GDK_TOUCH_PRESS : GDK_TOUCH_RELEASE; + if (ev->evtype == XI_TouchBegin) + event->button.type = GDK_TOUCH_PRESS; + else if (ev->evtype == XI_TouchEnd) + event->button.type = GDK_TOUCH_RELEASE; else #endif /* XINPUT_2_1 */ event->button.type = (ev->evtype == XI_ButtonPress) ? GDK_BUTTON_PRESS : GDK_BUTTON_RELEASE; @@ -1209,14 +1209,7 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator, } case XI_Motion: #ifdef XINPUT_2_1 - case XI_TouchMotion: - case XI_TouchMotionUnowned: - /* FIXME: Unowned events should be rollback-able, - * the easiest way to go could be just storing the - * events so they can be replayed in arrival order - * when an ownership event arrives, needs further - * investigation though. - */ + case XI_TouchUpdate: #endif /* XINPUT_2_1 */ { XIDeviceEvent *xev = (XIDeviceEvent *) ev;