From 087da5cd9e96b15baac0bbfa6082c742cf36f593 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Thu, 22 Aug 2019 17:13:25 +0200 Subject: [PATCH] Enable and respond to all touch events --- eek/eek-gtk-keyboard.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/eek/eek-gtk-keyboard.c b/eek/eek-gtk-keyboard.c index be018573..ac0a0af6 100644 --- a/eek/eek-gtk-keyboard.c +++ b/eek/eek-gtk-keyboard.c @@ -55,8 +55,6 @@ typedef struct _EekGtkKeyboardPrivate LevelKeyboard *keyboard; GtkCssProvider *css_provider; GtkStyleContext *scontext; - - GdkEventSequence *sequence; // unowned reference } EekGtkKeyboardPrivate; G_DEFINE_TYPE_WITH_PRIVATE (EekGtkKeyboard, eek_gtk_keyboard, GTK_TYPE_DRAWING_AREA) @@ -81,7 +79,8 @@ eek_gtk_keyboard_real_realize (GtkWidget *self) GDK_KEY_RELEASE_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | - GDK_BUTTON_MOTION_MASK); + GDK_BUTTON_MOTION_MASK | + GDK_TOUCH_MASK); GTK_WIDGET_CLASS (eek_gtk_keyboard_parent_class)->realize (self); } @@ -253,26 +252,16 @@ handle_touch_event (GtkWidget *widget, EekGtkKeyboardPrivate *priv = eek_gtk_keyboard_get_instance_private (self); if (event->type == GDK_TOUCH_BEGIN) { - if (priv->sequence) { - // Ignore second and following touch points - return FALSE; - } - priv->sequence = event->sequence; depress(self, event->x, event->y, event->time); return TRUE; } - if (priv->sequence != event->sequence) { - return FALSE; - } - if (event->type == GDK_TOUCH_UPDATE) { drag(self, event->x, event->y, event->time); } if (event->type == GDK_TOUCH_END || event->type == GDK_TOUCH_CANCEL) { // TODO: can the event have different coords than the previous update event? release(self, event->time); - priv->sequence = NULL; } return TRUE; }