diff options
author | Ryan Walklin <ryan@testtoast.com> | 2018-11-14 23:24:55 +0000 |
---|---|---|
committer | Ryan Walklin <ryan@crackotage.local> | 2018-12-15 14:42:35 +1100 |
commit | 2a3c62b4d28ec7a69473e9c18c42f1ed26c74bbf (patch) | |
tree | 6284dc156f6edee6f22e8e5c97430da5f464c27c /include/rootston | |
parent | 8a56b96c5516ee089b7561949aac4f83e5b94808 (diff) |
[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.
Diffstat (limited to 'include/rootston')
-rw-r--r-- | include/rootston/config.h | 10 | ||||
-rw-r--r-- | include/rootston/seat.h | 10 |
2 files changed, 20 insertions, 0 deletions
diff --git a/include/rootston/config.h b/include/rootston/config.h index 86699c6a..a95b8377 100644 --- a/include/rootston/config.h +++ b/include/rootston/config.h @@ -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; diff --git a/include/rootston/seat.h b/include/rootston/seat.h index 0187c6cc..7e6b63bf 100644 --- a/include/rootston/seat.h +++ b/include/rootston/seat.h @@ -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; |