Add a touch binding to activate a surface
Adds a new binding type for touch events via the new function
weston_compositor_add_touch_binding. The binding can only be added for
a touch down with the first finger. The shell now uses this to install
a binding to activate the current surface.
diff --git a/src/compositor.h b/src/compositor.h
index a19d966..6199b01 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -574,6 +574,7 @@
struct wl_list plane_list;
struct wl_list key_binding_list;
struct wl_list button_binding_list;
+ struct wl_list touch_binding_list;
struct wl_list axis_binding_list;
struct wl_list debug_binding_list;
@@ -983,6 +984,15 @@
weston_button_binding_handler_t binding,
void *data);
+typedef void (*weston_touch_binding_handler_t)(struct weston_seat *seat,
+ uint32_t time,
+ void *data);
+struct weston_binding *
+weston_compositor_add_touch_binding(struct weston_compositor *compositor,
+ enum weston_keyboard_modifier modifier,
+ weston_touch_binding_handler_t binding,
+ void *data);
+
typedef void (*weston_axis_binding_handler_t)(struct weston_seat *seat,
uint32_t time, uint32_t axis,
wl_fixed_t value, void *data);
@@ -1013,6 +1023,10 @@
struct weston_seat *seat, uint32_t time,
uint32_t button,
enum wl_pointer_button_state value);
+void
+weston_compositor_run_touch_binding(struct weston_compositor *compositor,
+ struct weston_seat *seat, uint32_t time,
+ int touch_type);
int
weston_compositor_run_axis_binding(struct weston_compositor *compositor,
struct weston_seat *seat, uint32_t time,