rootston: cleanup for multiseat
This commit is contained in:
		
							parent
							
								
									a00b7f1e9b
								
							
						
					
					
						commit
						992f931ae9
					
				|  | @ -4,7 +4,6 @@ | ||||||
| #include <wlr/types/wlr_input_device.h> | #include <wlr/types/wlr_input_device.h> | ||||||
| #include <wlr/types/wlr_cursor.h> | #include <wlr/types/wlr_cursor.h> | ||||||
| #include <wlr/types/wlr_seat.h> | #include <wlr/types/wlr_seat.h> | ||||||
| #include <wlr/xcursor.h> |  | ||||||
| #include "rootston/cursor.h" | #include "rootston/cursor.h" | ||||||
| #include "rootston/config.h" | #include "rootston/config.h" | ||||||
| #include "rootston/view.h" | #include "rootston/view.h" | ||||||
|  | @ -14,30 +13,12 @@ struct roots_input { | ||||||
| 	struct roots_config *config; | 	struct roots_config *config; | ||||||
| 	struct roots_server *server; | 	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_add; | ||||||
| 	struct wl_listener input_remove; | 	struct wl_listener input_remove; | ||||||
| 
 | 
 | ||||||
| 	struct wl_listener cursor_motion; | 	struct wl_list seats; | ||||||
| 	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_listener pointer_grab_begin; | 	struct wl_listener pointer_grab_begin; | ||||||
| 	struct wl_list touch_points; |  | ||||||
| 
 |  | ||||||
| 	struct wl_listener pointer_grab_end; | 	struct wl_listener pointer_grab_end; | ||||||
| 
 | 
 | ||||||
| 	struct wl_listener request_set_cursor; | 	struct wl_listener request_set_cursor; | ||||||
|  | @ -47,27 +28,6 @@ struct roots_input *input_create(struct roots_server *server, | ||||||
| 		struct roots_config *config); | 		struct roots_config *config); | ||||||
| void input_destroy(struct roots_input *input); | 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 roots_seat *input_seat_from_wlr_seat(struct roots_input *input, | ||||||
| 		struct wlr_seat *seat); | 		struct wlr_seat *seat); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -0,0 +1,15 @@ | ||||||
|  | #ifndef _ROOTSTON_XCURSOR_H | ||||||
|  | #define _ROOTSTON_XCURSOR_H | ||||||
|  | 
 | ||||||
|  | #include <wlr/xcursor.h> | ||||||
|  | 
 | ||||||
|  | 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 | ||||||
|  | @ -7,6 +7,7 @@ | ||||||
| #include <dev/evdev/input-event-codes.h> | #include <dev/evdev/input-event-codes.h> | ||||||
| #endif | #endif | ||||||
| #include <wlr/util/log.h> | #include <wlr/util/log.h> | ||||||
|  | #include "rootston/xcursor.h" | ||||||
| #include "rootston/cursor.h" | #include "rootston/cursor.h" | ||||||
| 
 | 
 | ||||||
| struct roots_cursor *roots_cursor_create(struct roots_seat *seat) { | 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); | 		cursor->cursor->x, cursor->cursor->y, &surface, &sx, &sy); | ||||||
| 
 | 
 | ||||||
| 	if (state == WLR_BUTTON_PRESSED && view && roots_seat_has_meta_pressed(seat)) { | 	if (state == WLR_BUTTON_PRESSED && view && roots_seat_has_meta_pressed(seat)) { | ||||||
| 		// TODO
 |  | ||||||
| 		roots_seat_focus_view(seat, view); | 		roots_seat_focus_view(seat, view); | ||||||
| 
 | 
 | ||||||
| 		uint32_t edges; | 		uint32_t edges; | ||||||
| 		switch (button) { | 		switch (button) { | ||||||
| 		case BTN_LEFT: | 		case BTN_LEFT: | ||||||
| 			// TODO
 |  | ||||||
| 			roots_seat_begin_move(seat, view); | 			roots_seat_begin_move(seat, view); | ||||||
| 			break; | 			break; | ||||||
| 		case BTN_RIGHT: | 		case BTN_RIGHT: | ||||||
|  | @ -171,7 +170,6 @@ static void roots_cursor_press_button(struct roots_cursor *cursor, | ||||||
| 		return; | 		return; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// TODO
 |  | ||||||
| 	uint32_t serial = | 	uint32_t serial = | ||||||
| 		wlr_seat_pointer_notify_button(seat->seat, time, button, state); | 		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); | 		roots_cursor_update_position(cursor, time); | ||||||
| 		break; | 		break; | ||||||
| 	case WLR_BUTTON_PRESSED: | 	case WLR_BUTTON_PRESSED: | ||||||
| 		// TODO
 |  | ||||||
| 		i = cursor->input_events_idx; | 		i = cursor->input_events_idx; | ||||||
| 		cursor->input_events[i].serial = serial; | 		cursor->input_events[i].serial = serial; | ||||||
| 		cursor->input_events[i].cursor = cursor->cursor; | 		cursor->input_events[i].cursor = cursor->cursor; | ||||||
|  |  | ||||||
|  | @ -5,6 +5,7 @@ | ||||||
| 
 | 
 | ||||||
| #include <wlr/util/log.h> | #include <wlr/util/log.h> | ||||||
| 
 | 
 | ||||||
|  | #include "rootston/xcursor.h" | ||||||
| #include "rootston/input.h" | #include "rootston/input.h" | ||||||
| #include "rootston/seat.h" | #include "rootston/seat.h" | ||||||
| #include "rootston/keyboard.h" | #include "rootston/keyboard.h" | ||||||
|  |  | ||||||
|  | @ -1,14 +1,6 @@ | ||||||
| #include <wlr/types/wlr_cursor.h> | #include <wlr/types/wlr_cursor.h> | ||||||
| #include "rootston/input.h" | #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) { | static const char *get_resize_xcursor_name(uint32_t edges) { | ||||||
| 	if (edges & ROOTS_CURSOR_RESIZE_EDGE_TOP) { | 	if (edges & ROOTS_CURSOR_RESIZE_EDGE_TOP) { | ||||||
| 		if (edges & ROOTS_CURSOR_RESIZE_EDGE_RIGHT) { | 		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
 | 	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, | struct wlr_xcursor *get_resize_xcursor(struct wlr_xcursor_theme *theme, | ||||||
| 	uint32_t edges) { | 	uint32_t edges) { | ||||||
| 	return wlr_xcursor_theme_get_cursor(theme, get_resize_xcursor_name(edges)); | 	return wlr_xcursor_theme_get_cursor(theme, get_resize_xcursor_name(edges)); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue