mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-11-02 09:01:38 -05:00
Implement simple touch support for rootston
This commit is contained in:
parent
59fa18fbc9
commit
1782d5e7b7
5 changed files with 113 additions and 10 deletions
|
|
@ -24,18 +24,12 @@ struct roots_keyboard {
|
|||
struct roots_pointer {
|
||||
struct roots_input *input;
|
||||
struct wlr_input_device *device;
|
||||
// We don't listen to any pointer events directly - they go through
|
||||
// wlr_cursor
|
||||
struct wl_list link;
|
||||
};
|
||||
|
||||
struct roots_touch {
|
||||
struct roots_input *input;
|
||||
struct wlr_input_device *device;
|
||||
struct wl_listener down;
|
||||
struct wl_listener up;
|
||||
struct wl_listener motion;
|
||||
struct wl_listener cancel;
|
||||
struct wl_list link;
|
||||
};
|
||||
|
||||
|
|
@ -70,6 +64,13 @@ struct roots_input_event {
|
|||
struct wlr_input_device *device;
|
||||
};
|
||||
|
||||
struct roots_touch_point {
|
||||
struct roots_touch *device;
|
||||
int32_t slot;
|
||||
double x, y;
|
||||
struct wl_list link;
|
||||
};
|
||||
|
||||
struct roots_input {
|
||||
struct roots_config *config;
|
||||
struct roots_server *server;
|
||||
|
|
@ -104,9 +105,16 @@ struct roots_input {
|
|||
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 touch_points;
|
||||
|
||||
struct wl_listener pointer_grab_end;
|
||||
|
||||
struct wl_listener request_set_cursor;
|
||||
|
|
@ -120,6 +128,8 @@ void pointer_add(struct wlr_input_device *device, struct roots_input *input);
|
|||
void pointer_remove(struct wlr_input_device *device, struct roots_input *input);
|
||||
void keyboard_add(struct wlr_input_device *device, struct roots_input *input);
|
||||
void keyboard_remove(struct wlr_input_device *device, struct roots_input *input);
|
||||
void touch_add(struct wlr_input_device *device, struct roots_input *input);
|
||||
void touch_remove(struct wlr_input_device *device, struct roots_input *input);
|
||||
void tablet_tool_add(struct wlr_input_device *device, struct roots_input *input);
|
||||
void tablet_tool_remove(struct wlr_input_device *device, struct roots_input *input);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue