aboutsummaryrefslogtreecommitdiff
path: root/backend/headless
diff options
context:
space:
mode:
authorRyan Walklin <ryan@testtoast.com>2018-11-14 23:24:55 +0000
committerRyan Walklin <ryan@crackotage.local>2018-12-15 14:42:35 +1100
commit2a3c62b4d28ec7a69473e9c18c42f1ed26c74bbf (patch)
tree6284dc156f6edee6f22e8e5c97430da5f464c27c /backend/headless
parent8a56b96c5516ee089b7561949aac4f83e5b94808 (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 'backend/headless')
-rw-r--r--backend/headless/input_device.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/backend/headless/input_device.c b/backend/headless/input_device.c
index ba251dd7..827c6ee4 100644
--- a/backend/headless/input_device.c
+++ b/backend/headless/input_device.c
@@ -6,6 +6,7 @@
#include <wlr/interfaces/wlr_tablet_pad.h>
#include <wlr/interfaces/wlr_tablet_tool.h>
#include <wlr/interfaces/wlr_touch.h>
+#include <wlr/interfaces/wlr_switch.h>
#include <wlr/util/log.h>
#include "backend/headless.h"
#include "util/signal.h"
@@ -76,6 +77,13 @@ struct wlr_input_device *wlr_headless_add_input_device(
}
wlr_tablet_pad_init(wlr_device->tablet_pad, NULL);
break;
+ case WLR_INPUT_DEVICE_SWITCH:
+ wlr_device->lid_switch = calloc(1, sizeof(struct wlr_switch));
+ if (wlr_device->lid_switch == NULL) {
+ wlr_log(WLR_ERROR, "Unable to allocate wlr_switch");
+ goto error;
+ }
+ wlr_switch_init(wlr_device->lid_switch, NULL);
}
wl_list_insert(&backend->input_devices, &wlr_device->link);