From dda3ac15aeae42185c50d4eeb6e4da21eab68166 Mon Sep 17 00:00:00 2001 From: Samuel Grahn Date: Thu, 24 Jan 2019 01:10:44 +0100 Subject: [PATCH] Implement binding --- sway/commands/touch/binding.c | 16 +++++++++++++++- sway/input/cursor.c | 3 --- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/sway/commands/touch/binding.c b/sway/commands/touch/binding.c index 5b240be49..3a7d66e20 100644 --- a/sway/commands/touch/binding.c +++ b/sway/commands/touch/binding.c @@ -11,5 +11,19 @@ #include struct cmd_results *touch_cmd_binding(int argc, char **argv) { - return NULL; + struct cmd_results *error = NULL; + + if((error = checkarg(argc, "binding", EXPECTED_AT_LEAST, 2))) { + return error; + } + + struct gesture_config *config = get_gesture_config(argv[1]); + + if (!config) { + return cmd_results_new(CMD_FAILURE, "Unable to bind gesture %s", argv[1]); + } + + config->command = join_args(argv+2, argc); + return cmd_results_new(CMD_SUCCESS, NULL); + }; diff --git a/sway/input/cursor.c b/sway/input/cursor.c index a1beeeb7c..0962c3efa 100644 --- a/sway/input/cursor.c +++ b/sway/input/cursor.c @@ -336,7 +336,6 @@ static void handle_touch_down(struct wl_listener *listener, void *data) { struct sway_cursor *cursor = wl_container_of(listener, cursor, touch_down); wlr_idle_notify_activity(server.idle, cursor->seat->wlr_seat); struct wlr_event_touch_down *event = data; - struct libtouch_engine *engine = cursor->gesture_engine; struct sway_seat *seat = cursor->seat; struct wlr_seat *wlr_seat = seat->wlr_seat; struct wlr_surface *surface = NULL; @@ -369,7 +368,6 @@ static void handle_touch_down(struct wl_listener *listener, void *data) { static void handle_touch_up(struct wl_listener *listener, void *data) { struct sway_cursor *cursor = wl_container_of(listener, cursor, touch_up); - struct libtouch_engine *engine = cursor->gesture_engine; wlr_idle_notify_activity(server.idle, cursor->seat->wlr_seat); struct wlr_event_touch_up *event = data; struct wlr_seat *seat = cursor->seat->wlr_seat; @@ -384,7 +382,6 @@ static void handle_touch_motion(struct wl_listener *listener, void *data) { wl_container_of(listener, cursor, touch_motion); wlr_idle_notify_activity(server.idle, cursor->seat->wlr_seat); struct wlr_event_touch_motion *event = data; - struct libtouch_engine *engine = cursor->gesture_engine; struct sway_seat *seat = cursor->seat; struct wlr_seat *wlr_seat = seat->wlr_seat; struct wlr_surface *surface = NULL;