From 1782d5e7b7dc5e494cfee72b758d5fa8114aecc8 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Fri, 20 Oct 2017 23:19:41 -0400 Subject: Implement simple touch support for rootston --- rootston/touch.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 rootston/touch.c (limited to 'rootston/touch.c') diff --git a/rootston/touch.c b/rootston/touch.c new file mode 100644 index 00000000..f6d9b11a --- /dev/null +++ b/rootston/touch.c @@ -0,0 +1,26 @@ +#include +#include +#include +#include +#include "rootston/input.h" + +// TODO: we'll likely want touch events to both control the cursor *and* be +// submitted directly to the seat. + +void touch_add(struct wlr_input_device *device, struct roots_input *input) { + struct roots_touch *touch = calloc(sizeof(struct roots_touch), 1); + device->data = touch; + touch->device = device; + touch->input = input; + wl_list_insert(&input->touch, &touch->link); + wlr_cursor_attach_input_device(input->cursor, device); + cursor_load_config(input->server->config, input->cursor, + input, input->server->desktop); +} + +void touch_remove(struct wlr_input_device *device, struct roots_input *input) { + struct roots_touch *touch = device->data; + wlr_cursor_detach_input_device(input->cursor, device); + wl_list_remove(&touch->link); + free(touch); +} -- cgit v1.2.3