aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSimon Zeni <simon@bl4ckb0ne.ca>2022-03-03 13:23:08 -0500
committerKirill Primak <vyivel@eclair.cafe>2022-03-17 17:16:47 +0000
commitf9b6aa307974a51a0b80d4bfec99caa066e6e2db (patch)
tree61d68a90eb4dccc2c9ba851b341e06404e779426 /include
parent64fe6ab300ae36a8219281dc40471bbdf466358b (diff)
backend/wayland: give wlr_keyboard ownership to wlr_wl_seat
Diffstat (limited to 'include')
-rw-r--r--include/backend/wayland.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/include/backend/wayland.h b/include/backend/wayland.h
index 668b69ae..20484cef 100644
--- a/include/backend/wayland.h
+++ b/include/backend/wayland.h
@@ -8,6 +8,7 @@
#include <wlr/backend/wayland.h>
#include <wlr/render/wlr_renderer.h>
+#include <wlr/types/wlr_keyboard.h>
#include <wlr/types/wlr_pointer.h>
#include <wlr/render/drm_format_set.h>
@@ -112,23 +113,29 @@ struct wlr_wl_pointer {
};
struct wlr_wl_seat {
+ char *name;
struct wl_seat *wl_seat;
- struct wl_list link; // wlr_wl_backend.seats
- char *name;
+ struct wlr_wl_backend *backend;
+
+ struct wl_keyboard *wl_keyboard;
+ struct wlr_keyboard wlr_keyboard;
+
struct wl_touch *touch;
struct wl_pointer *pointer;
- struct wl_keyboard *keyboard;
- struct wlr_wl_backend *backend;
struct wlr_wl_pointer *active_pointer;
+
+ struct wl_list link; // wlr_wl_backend.seats
};
struct wlr_wl_backend *get_wl_backend_from_backend(struct wlr_backend *backend);
void update_wl_output_cursor(struct wlr_wl_output *output);
struct wlr_wl_pointer *pointer_get_wl(struct wlr_pointer *wlr_pointer);
+
+void init_seat_keyboard(struct wlr_wl_seat *seat);
+
void create_wl_pointer(struct wlr_wl_seat *seat, struct wlr_wl_output *output);
-void create_wl_keyboard(struct wlr_wl_seat *seat);
void create_wl_touch(struct wlr_wl_seat *seat);
struct wlr_wl_input_device *create_wl_input_device(
struct wlr_wl_seat *seat, enum wlr_input_device_type type);
@@ -138,6 +145,7 @@ void destroy_wl_input_device(struct wlr_wl_input_device *dev);
void destroy_wl_buffer(struct wlr_wl_buffer *buffer);
extern const struct wl_seat_listener seat_listener;
+
extern const struct wlr_tablet_pad_impl tablet_pad_impl;
extern const struct wlr_tablet_impl tablet_impl;