diff --git a/include/rootston/input.h b/include/rootston/input.h index 7463ba3a..e073a59d 100644 --- a/include/rootston/input.h +++ b/include/rootston/input.h @@ -4,7 +4,6 @@ #include #include #include -#include #include "rootston/cursor.h" #include "rootston/config.h" #include "rootston/view.h" @@ -14,30 +13,12 @@ struct roots_input { struct roots_config *config; struct roots_server *server; - struct wl_list keyboards; - struct wl_list pointers; - struct wl_list touch; - struct wl_list tablet_tools; - struct wl_list seats; - struct wl_listener input_add; struct wl_listener input_remove; - struct wl_listener cursor_motion; - struct wl_listener cursor_motion_absolute; - struct wl_listener cursor_button; - struct wl_listener cursor_axis; - - struct wl_listener cursor_touch_down; - struct wl_listener cursor_touch_up; - struct wl_listener cursor_touch_motion; - - struct wl_listener cursor_tool_axis; - struct wl_listener cursor_tool_tip; + struct wl_list seats; struct wl_listener pointer_grab_begin; - struct wl_list touch_points; - struct wl_listener pointer_grab_end; struct wl_listener request_set_cursor; @@ -47,27 +28,6 @@ struct roots_input *input_create(struct roots_server *server, struct roots_config *config); void input_destroy(struct roots_input *input); -void cursor_initialize(struct roots_input *input); -void cursor_load_config(struct roots_config *config, - struct wlr_cursor *cursor, - struct roots_input *input, - struct roots_desktop *desktop); -const struct roots_input_event *get_input_event(struct roots_input *input, - uint32_t serial); -void view_begin_move(struct roots_input *input, struct wlr_cursor *cursor, - struct roots_view *view); -void view_begin_resize(struct roots_input *input, struct wlr_cursor *cursor, - struct roots_view *view, uint32_t edges); - -struct wlr_xcursor *get_default_xcursor(struct wlr_xcursor_theme *theme); -struct wlr_xcursor *get_move_xcursor(struct wlr_xcursor_theme *theme); -struct wlr_xcursor *get_resize_xcursor(struct wlr_xcursor_theme *theme, - uint32_t edges); -struct wlr_xcursor *get_rotate_xcursor(struct wlr_xcursor_theme *theme); - -void set_view_focus(struct roots_input *input, struct roots_desktop *desktop, - struct roots_view *view); - struct roots_seat *input_seat_from_wlr_seat(struct roots_input *input, struct wlr_seat *seat); diff --git a/include/rootston/xcursor.h b/include/rootston/xcursor.h new file mode 100644 index 00000000..c96e50ef --- /dev/null +++ b/include/rootston/xcursor.h @@ -0,0 +1,15 @@ +#ifndef _ROOTSTON_XCURSOR_H +#define _ROOTSTON_XCURSOR_H + +#include + +struct wlr_xcursor *get_default_xcursor(struct wlr_xcursor_theme *theme); + +struct wlr_xcursor *get_move_xcursor(struct wlr_xcursor_theme *theme); + +struct wlr_xcursor *get_resize_xcursor(struct wlr_xcursor_theme *theme, + uint32_t edges); + +struct wlr_xcursor *get_rotate_xcursor(struct wlr_xcursor_theme *theme); + +#endif diff --git a/rootston/roots_cursor.c b/rootston/roots_cursor.c index 92c0cc9e..833551d1 100644 --- a/rootston/roots_cursor.c +++ b/rootston/roots_cursor.c @@ -7,6 +7,7 @@ #include #endif #include +#include "rootston/xcursor.h" #include "rootston/cursor.h" struct roots_cursor *roots_cursor_create(struct roots_seat *seat) { @@ -141,13 +142,11 @@ static void roots_cursor_press_button(struct roots_cursor *cursor, cursor->cursor->x, cursor->cursor->y, &surface, &sx, &sy); if (state == WLR_BUTTON_PRESSED && view && roots_seat_has_meta_pressed(seat)) { - // TODO roots_seat_focus_view(seat, view); uint32_t edges; switch (button) { case BTN_LEFT: - // TODO roots_seat_begin_move(seat, view); break; case BTN_RIGHT: @@ -171,7 +170,6 @@ static void roots_cursor_press_button(struct roots_cursor *cursor, return; } - // TODO uint32_t serial = wlr_seat_pointer_notify_button(seat->seat, time, button, state); @@ -182,7 +180,6 @@ static void roots_cursor_press_button(struct roots_cursor *cursor, roots_cursor_update_position(cursor, time); break; case WLR_BUTTON_PRESSED: - // TODO i = cursor->input_events_idx; cursor->input_events[i].serial = serial; cursor->input_events[i].cursor = cursor->cursor; diff --git a/rootston/seat.c b/rootston/seat.c index e860c093..b4d7887e 100644 --- a/rootston/seat.c +++ b/rootston/seat.c @@ -5,6 +5,7 @@ #include +#include "rootston/xcursor.h" #include "rootston/input.h" #include "rootston/seat.h" #include "rootston/keyboard.h" diff --git a/rootston/xcursor.c b/rootston/xcursor.c index 43cbfc51..8697cdc3 100644 --- a/rootston/xcursor.c +++ b/rootston/xcursor.c @@ -1,14 +1,6 @@ #include #include "rootston/input.h" -struct wlr_xcursor *get_default_xcursor(struct wlr_xcursor_theme *theme) { - return wlr_xcursor_theme_get_cursor(theme, "left_ptr"); -} - -struct wlr_xcursor *get_move_xcursor(struct wlr_xcursor_theme *theme) { - return wlr_xcursor_theme_get_cursor(theme, "grabbing"); -} - static const char *get_resize_xcursor_name(uint32_t edges) { if (edges & ROOTS_CURSOR_RESIZE_EDGE_TOP) { if (edges & ROOTS_CURSOR_RESIZE_EDGE_RIGHT) { @@ -32,6 +24,14 @@ static const char *get_resize_xcursor_name(uint32_t edges) { return "se-resize"; // fallback } +struct wlr_xcursor *get_default_xcursor(struct wlr_xcursor_theme *theme) { + return wlr_xcursor_theme_get_cursor(theme, "left_ptr"); +} + +struct wlr_xcursor *get_move_xcursor(struct wlr_xcursor_theme *theme) { + return wlr_xcursor_theme_get_cursor(theme, "grabbing"); +} + struct wlr_xcursor *get_resize_xcursor(struct wlr_xcursor_theme *theme, uint32_t edges) { return wlr_xcursor_theme_get_cursor(theme, get_resize_xcursor_name(edges));