]> git.mdlowis.com Git - proto/labwc.git/commitdiff
seat: initialize tablet tool or pad
authorJens Peters <jp7677@gmail.com>
Fri, 1 Dec 2023 21:13:07 +0000 (22:13 +0100)
committerJohan Malm <johanmalm@users.noreply.github.com>
Wed, 27 Dec 2023 11:09:26 +0000 (11:09 +0000)
Co-authored-by: Consolatis <35009135+Consolatis@users.noreply.github.com>
src/seat.c

index 64447df43ab122d61d8da5184b4704f25fc71894..ce78d4796d7af899703d1e6bc429b16d8d6c91fe 100644 (file)
@@ -9,6 +9,7 @@
 #include <wlr/types/wlr_touch.h>
 #include <wlr/util/log.h>
 #include "common/mem.h"
+#include "input/drawing_tablet.h"
 #include "input/input.h"
 #include "input/keyboard.h"
 #include "input/key-state.h"
@@ -254,6 +255,16 @@ new_touch(struct seat *seat, struct wlr_input_device *dev)
        return input;
 }
 
+static struct input *
+new_tablet(struct seat *seat, struct wlr_input_device *dev)
+{
+       struct input *input = znew(*input);
+       input->wlr_input_device = dev;
+       drawing_tablet_setup_handlers(seat, dev);
+
+       return input;
+}
+
 static void
 seat_update_capabilities(struct seat *seat)
 {
@@ -306,6 +317,10 @@ new_input_notify(struct wl_listener *listener, void *data)
        case WLR_INPUT_DEVICE_TOUCH:
                input = new_touch(seat, device);
                break;
+       case WLR_INPUT_DEVICE_TABLET_PAD:
+       case WLR_INPUT_DEVICE_TABLET_TOOL:
+               input = new_tablet(seat, device);
+               break;
        default:
                wlr_log(WLR_INFO, "unsupported input device");
                return;