2024-01-02 18:26:25 +01:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
|
|
|
#ifndef LABWC_TABLET_PAD_H
|
|
|
|
|
#define LABWC_TABLET_PAD_H
|
|
|
|
|
|
|
|
|
|
#include <wayland-server-core.h>
|
2024-01-07 22:15:25 +01:00
|
|
|
|
2024-01-02 18:26:25 +01:00
|
|
|
struct seat;
|
|
|
|
|
struct wlr_device;
|
|
|
|
|
struct wlr_input_device;
|
|
|
|
|
|
2024-01-02 20:31:17 +01:00
|
|
|
#define LAB_BTN_PAD 0x0
|
|
|
|
|
#define LAB_BTN_PAD2 0x1
|
|
|
|
|
#define LAB_BTN_PAD3 0x2
|
|
|
|
|
#define LAB_BTN_PAD4 0x3
|
|
|
|
|
#define LAB_BTN_PAD5 0x4
|
|
|
|
|
#define LAB_BTN_PAD6 0x5
|
|
|
|
|
#define LAB_BTN_PAD7 0x6
|
|
|
|
|
#define LAB_BTN_PAD8 0x7
|
|
|
|
|
#define LAB_BTN_PAD9 0x8
|
|
|
|
|
|
2024-01-02 18:26:25 +01:00
|
|
|
struct drawing_tablet_pad {
|
2024-06-04 20:21:12 +02:00
|
|
|
struct wlr_input_device *wlr_input_device;
|
2024-01-02 18:26:25 +01:00
|
|
|
struct seat *seat;
|
2024-06-04 20:21:12 +02:00
|
|
|
struct wlr_tablet_pad *pad;
|
|
|
|
|
struct wlr_tablet_v2_tablet_pad *pad_v2;
|
|
|
|
|
struct drawing_tablet *tablet;
|
|
|
|
|
struct wlr_surface *current_surface;
|
2024-01-02 18:26:25 +01:00
|
|
|
struct {
|
2024-06-04 20:21:12 +02:00
|
|
|
struct wl_listener current_surface_destroy;
|
2024-01-02 18:26:25 +01:00
|
|
|
struct wl_listener button;
|
2024-06-04 20:21:12 +02:00
|
|
|
struct wl_listener ring;
|
|
|
|
|
struct wl_listener strip;
|
2024-01-02 18:26:25 +01:00
|
|
|
struct wl_listener destroy;
|
|
|
|
|
} handlers;
|
2024-06-04 20:14:30 +02:00
|
|
|
struct wl_list link; /* seat.tablet_pads */
|
2024-01-02 18:26:25 +01:00
|
|
|
};
|
|
|
|
|
|
2024-08-09 09:25:00 +02:00
|
|
|
void tablet_pad_create(struct seat *seat, struct wlr_input_device *wlr_input_device);
|
2024-06-04 20:21:12 +02:00
|
|
|
void tablet_pad_attach_tablet(struct seat *seat);
|
|
|
|
|
void tablet_pad_enter_surface(struct seat *seat, struct wlr_surface *wlr_surface);
|
2024-01-02 18:26:25 +01:00
|
|
|
|
|
|
|
|
#endif /* LABWC_TABLET_PAD_H */
|