feat: add more protocols + touch support:

* add touch support (experimental)
* add support for wlr_cursor_shape_v1
* add support for wlr_relative_pointer_manager_v1
This commit is contained in:
DL
2025-07-29 15:33:19 +02:00
parent 0b738f4476
commit 0f31545ccd
11 changed files with 639 additions and 60 deletions

15
diyac.h
View File

@@ -20,6 +20,7 @@
#include <wlr/types/wlr_virtual_keyboard_v1.h>
#include <wlr/types/wlr_output_power_management_v1.h>
#include <wlr/types/wlr_output_management_v1.h>
#include <wlr/types/wlr_relative_pointer_v1.h>
#define LAYER_TREE_SZ 4
@@ -69,8 +70,19 @@ struct diyac_seat
struct wl_listener cursor_button;
struct wl_listener cursor_axis;
struct wl_listener cursor_frame;
/*touch*/
struct wl_listener touch_down;
struct wl_listener touch_up;
struct wl_listener touch_motion;
struct wl_listener touch_frame;
struct wl_list touch_points; /* struct touch_point.link */
/*TODO: wlr_pointer_gestures_v1*/
struct wl_listener new_input;
struct wl_listener request_cursor;
struct wl_listener request_set_shape;
struct wl_listener request_set_selection;
struct wl_listener request_set_primary_selection;
// struct wl_list keyboards;
@@ -160,7 +172,8 @@ struct diyac_server
struct wlr_output_power_manager_v1 *output_power_manager;
struct wl_listener output_power_manager_set_mode;
struct wlr_relative_pointer_manager_v1 *relative_pointer_manager;
struct wlr_output_manager_v1 *output_manager;
struct wl_listener output_manager_test;
struct wl_listener output_manager_apply;