Documentation for <wlr/types/wlr_tablet_v2.h>

Back to index

Table of contents

wlr_send_tablet_v2_tablet_pad_button()

void wlr_send_tablet_v2_tablet_pad_button(​struct wlr_tablet_v2_tablet_pad *pad, size_t button, uint32_t time, enum zwp_tablet_pad_v2_button_state state);

wlr_send_tablet_v2_tablet_pad_enter()

uint32_t wlr_send_tablet_v2_tablet_pad_enter(​struct wlr_tablet_v2_tablet_pad *pad, struct wlr_tablet_v2_tablet *tablet, struct wlr_surface *surface);

wlr_send_tablet_v2_tablet_pad_leave()

uint32_t wlr_send_tablet_v2_tablet_pad_leave(​struct wlr_tablet_v2_tablet_pad *pad, struct wlr_surface *surface);

wlr_send_tablet_v2_tablet_pad_mode()

uint32_t wlr_send_tablet_v2_tablet_pad_mode(​struct wlr_tablet_v2_tablet_pad *pad, size_t group, uint32_t mode, uint32_t time);

wlr_send_tablet_v2_tablet_pad_ring()

void wlr_send_tablet_v2_tablet_pad_ring(​struct wlr_tablet_v2_tablet_pad *pad, uint32_t ring, double position, bool finger, uint32_t time);

wlr_send_tablet_v2_tablet_pad_strip()

void wlr_send_tablet_v2_tablet_pad_strip(​struct wlr_tablet_v2_tablet_pad *pad, uint32_t strip, double position, bool finger, uint32_t time);

wlr_send_tablet_v2_tablet_tool_button()

void wlr_send_tablet_v2_tablet_tool_button(​struct wlr_tablet_v2_tablet_tool *tool, uint32_t button, enum zwp_tablet_pad_v2_button_state state);

wlr_send_tablet_v2_tablet_tool_distance()

void wlr_send_tablet_v2_tablet_tool_distance(​struct wlr_tablet_v2_tablet_tool *tool, double distance);

wlr_send_tablet_v2_tablet_tool_down()

void wlr_send_tablet_v2_tablet_tool_down(​struct wlr_tablet_v2_tablet_tool *tool);

wlr_send_tablet_v2_tablet_tool_motion()

void wlr_send_tablet_v2_tablet_tool_motion(​struct wlr_tablet_v2_tablet_tool *tool, double x, double y);

wlr_send_tablet_v2_tablet_tool_pressure()

void wlr_send_tablet_v2_tablet_tool_pressure(​struct wlr_tablet_v2_tablet_tool *tool, double pressure);

wlr_send_tablet_v2_tablet_tool_proximity_in()

void wlr_send_tablet_v2_tablet_tool_proximity_in(​struct wlr_tablet_v2_tablet_tool *tool, struct wlr_tablet_v2_tablet *tablet, struct wlr_surface *surface);

wlr_send_tablet_v2_tablet_tool_proximity_out()

void wlr_send_tablet_v2_tablet_tool_proximity_out(​struct wlr_tablet_v2_tablet_tool *tool);

wlr_send_tablet_v2_tablet_tool_rotation()

void wlr_send_tablet_v2_tablet_tool_rotation(​struct wlr_tablet_v2_tablet_tool *tool, double degrees);

wlr_send_tablet_v2_tablet_tool_slider()

void wlr_send_tablet_v2_tablet_tool_slider(​struct wlr_tablet_v2_tablet_tool *tool, double position);

wlr_send_tablet_v2_tablet_tool_tilt()

void wlr_send_tablet_v2_tablet_tool_tilt(​struct wlr_tablet_v2_tablet_tool *tool, double x, double y);

wlr_send_tablet_v2_tablet_tool_up()

void wlr_send_tablet_v2_tablet_tool_up(​struct wlr_tablet_v2_tablet_tool *tool);

wlr_send_tablet_v2_tablet_tool_wheel()

void wlr_send_tablet_v2_tablet_tool_wheel(​struct wlr_tablet_v2_tablet_tool *tool, double degrees, int32_t clicks);

wlr_surface_accepts_tablet_v2()

bool wlr_surface_accepts_tablet_v2(​struct wlr_surface *surface, struct wlr_tablet_v2_tablet *tablet);

struct wlr_tablet_client_v2

struct wlr_tablet_client_v2;

wlr_tablet_create()

struct wlr_tablet_v2_tablet *wlr_tablet_create(​struct wlr_tablet_manager_v2 *manager, struct wlr_seat *wlr_seat, struct wlr_input_device *wlr_device);

struct wlr_tablet_manager_v2

struct wlr_tablet_manager_v2 {
	struct wl_global *wl_global;
	struct wl_list clients; // wlr_tablet_manager_client_v2.link
	struct wl_list seats; // wlr_tablet_seat_v2.link
	
	struct {
		struct wl_signal destroy;
	} events;
	
	void *data;
	
	struct {
		struct wl_listener display_destroy;
	} WLR_PRIVATE;
};

struct wlr_tablet_pad_client_v2

struct wlr_tablet_pad_client_v2;

wlr_tablet_pad_create()

struct wlr_tablet_v2_tablet_pad *wlr_tablet_pad_create(​struct wlr_tablet_manager_v2 *manager, struct wlr_seat *wlr_seat, struct wlr_input_device *wlr_device);

struct wlr_tablet_pad_v2_grab

struct wlr_tablet_pad_v2_grab {
	const struct wlr_tablet_pad_v2_grab_interface *interface;
	struct wlr_tablet_v2_tablet_pad *pad;
	void *data;
};

struct wlr_tablet_pad_v2_grab_interface

struct wlr_tablet_pad_v2_grab_interface {
	uint32_t (*enter)(​struct wlr_tablet_pad_v2_grab *grab, struct wlr_tablet_v2_tablet *tablet, struct wlr_surface *surface);
	
	void (*button)(​struct wlr_tablet_pad_v2_grab *grab, size_t button, uint32_t time, enum zwp_tablet_pad_v2_button_state state);
	
	void (*strip)(​struct wlr_tablet_pad_v2_grab *grab, uint32_t strip, double position, bool finger, uint32_t time);
	void (*ring)(​struct wlr_tablet_pad_v2_grab *grab, uint32_t ring, double position, bool finger, uint32_t time);
	
	uint32_t (*leave)(​struct wlr_tablet_pad_v2_grab *grab, struct wlr_surface *surface);
	
	uint32_t (*mode)(​struct wlr_tablet_pad_v2_grab *grab, size_t group, uint32_t mode, uint32_t time);
	
	void (*cancel)(​struct wlr_tablet_pad_v2_grab *grab);
};

struct wlr_tablet_tool_client_v2

struct wlr_tablet_tool_client_v2;

wlr_tablet_tool_create()

struct wlr_tablet_v2_tablet_tool *wlr_tablet_tool_create(​struct wlr_tablet_manager_v2 *manager, struct wlr_seat *wlr_seat, struct wlr_tablet_tool *wlr_tool);

wlr_tablet_tool_v2_end_grab()

void wlr_tablet_tool_v2_end_grab(​struct wlr_tablet_v2_tablet_tool *tool);

struct wlr_tablet_tool_v2_grab

struct wlr_tablet_tool_v2_grab {
	const struct wlr_tablet_tool_v2_grab_interface *interface;
	struct wlr_tablet_v2_tablet_tool *tool;
	void *data;
};

struct wlr_tablet_tool_v2_grab_interface

struct wlr_tablet_tool_v2_grab_interface {
	void (*proximity_in)(​struct wlr_tablet_tool_v2_grab *grab, struct wlr_tablet_v2_tablet *tablet, struct wlr_surface *surface);
	
	void (*down)(​struct wlr_tablet_tool_v2_grab *grab);
	void (*up)(​struct wlr_tablet_tool_v2_grab *grab);
	
	void (*motion)(​struct wlr_tablet_tool_v2_grab *grab, double x, double y);
	
	void (*pressure)(​struct wlr_tablet_tool_v2_grab *grab, double pressure);
	
	void (*distance)(​struct wlr_tablet_tool_v2_grab *grab, double distance);
	
	void (*tilt)(​struct wlr_tablet_tool_v2_grab *grab, double x, double y);
	
	void (*rotation)(​struct wlr_tablet_tool_v2_grab *grab, double degrees);
	
	void (*slider)(​struct wlr_tablet_tool_v2_grab *grab, double position);
	
	void (*wheel)(​struct wlr_tablet_tool_v2_grab *grab, double degrees, int32_t clicks);
	
	void (*proximity_out)(​struct wlr_tablet_tool_v2_grab *grab);
	
	void (*button)(​struct wlr_tablet_tool_v2_grab *grab, uint32_t button, enum zwp_tablet_pad_v2_button_state state);
	void (*cancel)(​struct wlr_tablet_tool_v2_grab *grab);
};

wlr_tablet_tool_v2_has_implicit_grab()

bool wlr_tablet_tool_v2_has_implicit_grab(​struct wlr_tablet_v2_tablet_tool *tool);

wlr_tablet_tool_v2_start_grab()

void wlr_tablet_tool_v2_start_grab(​struct wlr_tablet_v2_tablet_tool *tool, struct wlr_tablet_tool_v2_grab *grab);

wlr_tablet_tool_v2_start_implicit_grab()

void wlr_tablet_tool_v2_start_implicit_grab(​struct wlr_tablet_v2_tablet_tool *tool);

wlr_tablet_v2_create()

struct wlr_tablet_manager_v2 *wlr_tablet_v2_create(​struct wl_display *display);

wlr_tablet_v2_end_grab()

void wlr_tablet_v2_end_grab(​struct wlr_tablet_v2_tablet_pad *pad);

struct wlr_tablet_v2_event_cursor

struct wlr_tablet_v2_event_cursor {
	struct wlr_surface *surface;
	uint32_t serial;
	int32_t hotspot_x;
	int32_t hotspot_y;
	struct wlr_seat_client *seat_client;
};

struct wlr_tablet_v2_event_feedback

struct wlr_tablet_v2_event_feedback {
	const char *description;
	size_t index;
	uint32_t serial;
};

wlr_tablet_v2_start_grab()

void wlr_tablet_v2_start_grab(​struct wlr_tablet_v2_tablet_pad *pad, struct wlr_tablet_pad_v2_grab *grab);

struct wlr_tablet_v2_tablet

struct wlr_tablet_v2_tablet {
	struct wl_list link; // wlr_tablet_seat_v2.tablets
	struct wlr_tablet *wlr_tablet;
	struct wlr_input_device *wlr_device;
	struct wl_list clients; // wlr_tablet_client_v2.tablet_link
	
	struct wlr_tablet_client_v2 *current_client;
	
	struct {
		struct wl_listener tablet_destroy;
	} WLR_PRIVATE;
};

struct wlr_tablet_v2_tablet_pad

struct wlr_tablet_v2_tablet_pad {
	struct wl_list link; // wlr_tablet_seat_v2.pads
	struct wlr_tablet_pad *wlr_pad;
	struct wlr_input_device *wlr_device;
	struct wl_list clients; // wlr_tablet_pad_client_v2.pad_link
	
	size_t group_count;
	uint32_t *groups;
	
	struct wlr_tablet_pad_client_v2 *current_client;
	struct wlr_tablet_pad_v2_grab *grab;
	struct wlr_tablet_pad_v2_grab default_grab;
	
	struct {
		struct wl_signal button_feedback; // struct wlr_tablet_v2_event_feedback
		struct wl_signal strip_feedback; // struct wlr_tablet_v2_event_feedback
		struct wl_signal ring_feedback; // struct wlr_tablet_v2_event_feedback
	} events;
	
	struct {
		struct wl_listener pad_destroy;
	} WLR_PRIVATE;
};

wlr_tablet_v2_tablet_pad_notify_button()

void wlr_tablet_v2_tablet_pad_notify_button(​struct wlr_tablet_v2_tablet_pad *pad, size_t button, uint32_t time, enum zwp_tablet_pad_v2_button_state state);

wlr_tablet_v2_tablet_pad_notify_enter()

uint32_t wlr_tablet_v2_tablet_pad_notify_enter(​struct wlr_tablet_v2_tablet_pad *pad, struct wlr_tablet_v2_tablet *tablet, struct wlr_surface *surface);

wlr_tablet_v2_tablet_pad_notify_leave()

uint32_t wlr_tablet_v2_tablet_pad_notify_leave(​struct wlr_tablet_v2_tablet_pad *pad, struct wlr_surface *surface);

wlr_tablet_v2_tablet_pad_notify_mode()

uint32_t wlr_tablet_v2_tablet_pad_notify_mode(​struct wlr_tablet_v2_tablet_pad *pad, size_t group, uint32_t mode, uint32_t time);

wlr_tablet_v2_tablet_pad_notify_ring()

void wlr_tablet_v2_tablet_pad_notify_ring(​struct wlr_tablet_v2_tablet_pad *pad, uint32_t ring, double position, bool finger, uint32_t time);

wlr_tablet_v2_tablet_pad_notify_strip()

void wlr_tablet_v2_tablet_pad_notify_strip(​struct wlr_tablet_v2_tablet_pad *pad, uint32_t strip, double position, bool finger, uint32_t time);

struct wlr_tablet_v2_tablet_tool

struct wlr_tablet_v2_tablet_tool {
	struct wl_list link; // wlr_tablet_seat_v2.tablets
	struct wlr_tablet_tool *wlr_tool;
	struct wl_list clients; // wlr_tablet_tool_client_v2.tool_link
	
	struct wlr_tablet_tool_client_v2 *current_client;
	struct wlr_surface *focused_surface;
	
	struct wlr_tablet_tool_v2_grab *grab;
	struct wlr_tablet_tool_v2_grab default_grab;
	
	uint32_t proximity_serial;
	bool is_down;
	uint32_t down_serial;
	size_t num_buttons;
	uint32_t pressed_buttons[];
	uint32_t pressed_serials[];
	
	struct {
		struct wl_signal set_cursor; // struct wlr_tablet_v2_event_cursor
	} events;
	
	struct {
		struct wl_listener surface_destroy;
		struct wl_listener tool_destroy;
	} WLR_PRIVATE;
};

wlr_tablet_v2_tablet_tool_notify_button()

void wlr_tablet_v2_tablet_tool_notify_button(​struct wlr_tablet_v2_tablet_tool *tool, uint32_t button, enum zwp_tablet_pad_v2_button_state state);

wlr_tablet_v2_tablet_tool_notify_distance()

void wlr_tablet_v2_tablet_tool_notify_distance(​struct wlr_tablet_v2_tablet_tool *tool, double distance);

wlr_tablet_v2_tablet_tool_notify_down()

void wlr_tablet_v2_tablet_tool_notify_down(​struct wlr_tablet_v2_tablet_tool *tool);

wlr_tablet_v2_tablet_tool_notify_motion()

void wlr_tablet_v2_tablet_tool_notify_motion(​struct wlr_tablet_v2_tablet_tool *tool, double x, double y);

wlr_tablet_v2_tablet_tool_notify_pressure()

void wlr_tablet_v2_tablet_tool_notify_pressure(​struct wlr_tablet_v2_tablet_tool *tool, double pressure);

wlr_tablet_v2_tablet_tool_notify_proximity_in()

void wlr_tablet_v2_tablet_tool_notify_proximity_in(​struct wlr_tablet_v2_tablet_tool *tool, struct wlr_tablet_v2_tablet *tablet, struct wlr_surface *surface);

wlr_tablet_v2_tablet_tool_notify_proximity_out()

void wlr_tablet_v2_tablet_tool_notify_proximity_out(​struct wlr_tablet_v2_tablet_tool *tool);

wlr_tablet_v2_tablet_tool_notify_rotation()

void wlr_tablet_v2_tablet_tool_notify_rotation(​struct wlr_tablet_v2_tablet_tool *tool, double degrees);

wlr_tablet_v2_tablet_tool_notify_slider()

void wlr_tablet_v2_tablet_tool_notify_slider(​struct wlr_tablet_v2_tablet_tool *tool, double position);

wlr_tablet_v2_tablet_tool_notify_tilt()

void wlr_tablet_v2_tablet_tool_notify_tilt(​struct wlr_tablet_v2_tablet_tool *tool, double x, double y);

wlr_tablet_v2_tablet_tool_notify_up()

void wlr_tablet_v2_tablet_tool_notify_up(​struct wlr_tablet_v2_tablet_tool *tool);

wlr_tablet_v2_tablet_tool_notify_wheel()

void wlr_tablet_v2_tablet_tool_notify_wheel(​struct wlr_tablet_v2_tablet_tool *tool, double degrees, int32_t clicks);

WLR_TABLET_V2_TOOL_BUTTONS_CAP

#define WLR_TABLET_V2_TOOL_BUTTONS_CAP