From: John Lindgren Date: Sat, 26 Jul 2025 20:23:02 +0000 (-0400) Subject: include: move a few types from labwc.h to better locations X-Git-Url: https://git.mdlowis.com/?a=commitdiff_plain;h=2e6b30eb50a03303d977345e568fa7a557f570ab;p=proto%2Flabwc.git include: move a few types from labwc.h to better locations --- diff --git a/include/input/input.h b/include/input/input.h index 37758e0e..520216b6 100644 --- a/include/input/input.h +++ b/include/input/input.h @@ -2,7 +2,16 @@ #ifndef LABWC_INPUT_H #define LABWC_INPUT_H -struct seat; +#include + +struct input { + struct wlr_input_device *wlr_input_device; + struct seat *seat; + /* Set for pointer/touch devices */ + double scroll_factor; + struct wl_listener destroy; + struct wl_list link; /* seat.inputs */ +}; void input_handlers_init(struct seat *seat); void input_handlers_finish(struct seat *seat); diff --git a/include/input/keyboard.h b/include/input/keyboard.h index d080d30a..6836d9bc 100644 --- a/include/input/keyboard.h +++ b/include/input/keyboard.h @@ -4,10 +4,25 @@ #include #include +#include "input/input.h" -struct seat; -struct keyboard; -struct wlr_keyboard; +/* + * Virtual keyboards should not belong to seat->keyboard_group. As a result we + * need to be able to ascertain which wlr_keyboard key/modifier events come from + * and we achieve that by using `struct keyboard` which inherits `struct input` + * and adds keyboard specific listeners and a wlr_keyboard pointer. + */ +struct keyboard { + struct input base; + struct wlr_keyboard *wlr_keyboard; + bool is_virtual; + struct wl_listener modifiers; + struct wl_listener key; + /* key repeat for compositor keybinds */ + uint32_t keybind_repeat_keycode; + int32_t keybind_repeat_rate; + struct wl_event_source *keybind_repeat; +}; void keyboard_reset_current_keybind(void); void keyboard_configure(struct seat *seat, struct wlr_keyboard *kb, diff --git a/include/labwc.h b/include/labwc.h index b05d519d..feae372e 100644 --- a/include/labwc.h +++ b/include/labwc.h @@ -27,33 +27,6 @@ enum input_mode { LAB_INPUT_STATE_WINDOW_SWITCHER, }; -struct input { - struct wlr_input_device *wlr_input_device; - struct seat *seat; - /* Set for pointer/touch devices */ - double scroll_factor; - struct wl_listener destroy; - struct wl_list link; /* seat.inputs */ -}; - -/* - * Virtual keyboards should not belong to seat->keyboard_group. As a result we - * need to be able to ascertain which wlr_keyboard key/modifier events come from - * and we achieve that by using `struct keyboard` which inherits `struct input` - * and adds keyboard specific listeners and a wlr_keyboard pointer. - */ -struct keyboard { - struct input base; - struct wlr_keyboard *wlr_keyboard; - bool is_virtual; - struct wl_listener modifiers; - struct wl_listener key; - /* key repeat for compositor keybinds */ - uint32_t keybind_repeat_keycode; - int32_t keybind_repeat_rate; - struct wl_event_source *keybind_repeat; -}; - struct seat { struct wlr_seat *seat; struct server *server; @@ -181,15 +154,6 @@ struct seat { struct wl_listener new_virtual_keyboard; }; -struct lab_data_buffer; -struct workspace; - -enum lab_cycle_dir { - LAB_CYCLE_DIR_NONE, - LAB_CYCLE_DIR_FORWARD, - LAB_CYCLE_DIR_BACKWARD, -}; - struct server { struct wl_display *wl_display; struct wl_event_loop *wl_event_loop; /* Can be used for timer events */ @@ -362,12 +326,6 @@ struct server { pid_t primary_client_pid; }; -struct constraint { - struct seat *seat; - struct wlr_pointer_constraint_v1 *constraint; - struct wl_listener destroy; -}; - void xdg_popup_create(struct view *view, struct wlr_xdg_popup *wlr_popup); void xdg_shell_init(struct server *server); void xdg_shell_finish(struct server *server); diff --git a/include/osd.h b/include/osd.h index 971389d2..39a73b8b 100644 --- a/include/osd.h +++ b/include/osd.h @@ -5,6 +5,12 @@ #include #include +enum lab_cycle_dir { + LAB_CYCLE_DIR_NONE, + LAB_CYCLE_DIR_FORWARD, + LAB_CYCLE_DIR_BACKWARD, +}; + /* TODO: add field with keyboard layout? */ enum window_switcher_field_content { LAB_FIELD_NONE = 0, diff --git a/src/input/cursor.c b/src/input/cursor.c index 852eca3f..0fc2bbd0 100644 --- a/src/input/cursor.c +++ b/src/input/cursor.c @@ -41,6 +41,12 @@ #define LAB_CURSOR_SHAPE_V1_VERSION 1 +struct constraint { + struct seat *seat; + struct wlr_pointer_constraint_v1 *constraint; + struct wl_listener destroy; +}; + static const char * const *cursor_names = NULL; /* Usual cursor names */ diff --git a/src/input/ime.c b/src/input/ime.c index bbb8723a..350374df 100644 --- a/src/input/ime.c +++ b/src/input/ime.c @@ -7,6 +7,7 @@ #include #include #include "common/mem.h" +#include "input/keyboard.h" #include "node.h" #include "output.h" #include "view.h"