[WIP][DONTMERGE]Add support for libinput_switch input devices

These are used primarily by laptops to signal
the state of the lid (open/closed) and tablet
mode if supported, based on ACPI events.
This commit is contained in:
Ryan Walklin 2018-11-14 23:24:55 +00:00 committed by Ryan Walklin
parent 8a56b96c55
commit 2a3c62b4d2
18 changed files with 261 additions and 1 deletions

View file

@ -3,6 +3,7 @@
#include <xf86drmMode.h>
#include <wlr/types/wlr_input_device.h>
#include <wlr/types/wlr_switch.h>
#include <wlr/types/wlr_output_layout.h>
#define ROOTS_CONFIG_DEFAULT_SEAT_NAME "seat0"
@ -65,6 +66,14 @@ struct roots_cursor_config {
struct wl_list link;
};
struct roots_switch_config {
enum wlr_switch_type switch_type;
enum wlr_switch_state switch_state;
bool run_on_toggle;
char *command;
struct wl_list link;
};
struct roots_config {
bool xwayland;
bool xwayland_lazy;
@ -74,6 +83,7 @@ struct roots_config {
struct wl_list bindings;
struct wl_list keyboards;
struct wl_list cursors;
struct wl_list switches;
char *config_path;
char *startup_cmd;

View file

@ -32,6 +32,7 @@ struct roots_seat {
struct wl_list keyboards;
struct wl_list pointers;
struct wl_list switches;
struct wl_list touch;
struct wl_list tablets;
struct wl_list tablet_pads;
@ -74,6 +75,15 @@ struct roots_pointer {
struct wl_list link;
};
struct roots_switch {
struct roots_seat *seat;
struct wlr_input_device *device;
struct wl_listener device_destroy;
struct wl_listener toggle;
struct wl_list link;
};
struct roots_touch {
struct roots_seat *seat;
struct wlr_input_device *device;