2018-02-12 21:29:23 +01:00
|
|
|
#ifndef ROOTSTON_INPUT_H
|
|
|
|
#define ROOTSTON_INPUT_H
|
|
|
|
|
2019-07-27 10:53:54 +02:00
|
|
|
#include <wayland-server-core.h>
|
2017-09-23 02:24:32 +02:00
|
|
|
#include <wlr/types/wlr_cursor.h>
|
2018-02-12 21:29:23 +01:00
|
|
|
#include <wlr/types/wlr_input_device.h>
|
2017-09-23 02:24:32 +02:00
|
|
|
#include <wlr/types/wlr_seat.h>
|
2017-09-23 16:13:05 +02:00
|
|
|
#include "rootston/config.h"
|
2018-02-12 21:29:23 +01:00
|
|
|
#include "rootston/cursor.h"
|
2017-09-23 16:36:32 +02:00
|
|
|
#include "rootston/server.h"
|
2018-02-12 21:29:23 +01:00
|
|
|
#include "rootston/view.h"
|
2017-09-23 02:24:32 +02:00
|
|
|
|
|
|
|
struct roots_input {
|
2017-09-23 16:13:05 +02:00
|
|
|
struct roots_config *config;
|
2017-09-23 20:53:15 +02:00
|
|
|
struct roots_server *server;
|
2017-09-23 16:13:05 +02:00
|
|
|
|
2018-02-12 10:36:43 +01:00
|
|
|
struct wl_listener new_input;
|
2017-09-23 20:53:15 +02:00
|
|
|
|
2018-08-10 18:19:16 +02:00
|
|
|
struct wl_list seats; // roots_seat::link
|
2017-09-23 02:24:32 +02:00
|
|
|
};
|
|
|
|
|
2017-09-23 16:13:05 +02:00
|
|
|
struct roots_input *input_create(struct roots_server *server,
|
|
|
|
struct roots_config *config);
|
|
|
|
void input_destroy(struct roots_input *input);
|
|
|
|
|
2017-11-07 21:56:11 +01:00
|
|
|
struct roots_seat *input_seat_from_wlr_seat(struct roots_input *input,
|
|
|
|
struct wlr_seat *seat);
|
|
|
|
|
2017-11-10 14:27:45 +01:00
|
|
|
bool input_view_has_focus(struct roots_input *input, struct roots_view *view);
|
|
|
|
|
2017-11-22 14:10:06 +01:00
|
|
|
struct roots_seat *input_get_seat(struct roots_input *input, char *name);
|
|
|
|
|
2018-04-22 19:15:49 +02:00
|
|
|
struct roots_seat *input_last_active_seat(struct roots_input *input);
|
|
|
|
|
2018-07-29 19:02:00 +02:00
|
|
|
void input_update_cursor_focus(struct roots_input *input);
|
|
|
|
|
2017-09-23 02:24:32 +02:00
|
|
|
#endif
|