aboutsummaryrefslogtreecommitdiff
path: root/include/rootston/input.h
blob: e073a59d43e0a84e46b80f9453eb232089be3fc7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef _ROOTSTON_INPUT_H
#define _ROOTSTON_INPUT_H
#include <wayland-server.h>
#include <wlr/types/wlr_input_device.h>
#include <wlr/types/wlr_cursor.h>
#include <wlr/types/wlr_seat.h>
#include "rootston/cursor.h"
#include "rootston/config.h"
#include "rootston/view.h"
#include "rootston/server.h"

struct roots_input {
	struct roots_config *config;
	struct roots_server *server;

	struct wl_listener input_add;
	struct wl_listener input_remove;

	struct wl_list seats;

	struct wl_listener pointer_grab_begin;
	struct wl_listener pointer_grab_end;

	struct wl_listener request_set_cursor;
};

struct roots_input *input_create(struct roots_server *server,
		struct roots_config *config);
void input_destroy(struct roots_input *input);

struct roots_seat *input_seat_from_wlr_seat(struct roots_input *input,
		struct wlr_seat *seat);

#endif