aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend/session/session.c8
-rw-r--r--include/wlr/backend/session.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/backend/session/session.c b/backend/session/session.c
index 382f3d60..e83a8b4c 100644
--- a/backend/session/session.c
+++ b/backend/session/session.c
@@ -157,6 +157,14 @@ static void read_udev_change_event(struct wlr_device_change_event *event,
if (prop != NULL) {
hotplug->prop_id = strtoul(prop, NULL, 10);
}
+
+ return;
+ }
+
+ const char *lease = udev_device_get_property_value(udev_dev, "LEASE");
+ if (lease != NULL && strcmp(lease, "1") == 0) {
+ event->type = WLR_DEVICE_LEASE;
+ return;
}
}
diff --git a/include/wlr/backend/session.h b/include/wlr/backend/session.h
index 7d34bfeb..c8461ff7 100644
--- a/include/wlr/backend/session.h
+++ b/include/wlr/backend/session.h
@@ -59,6 +59,7 @@ struct wlr_session_add_event {
enum wlr_device_change_type {
WLR_DEVICE_HOTPLUG = 1,
+ WLR_DEVICE_LEASE,
};
struct wlr_device_hotplug_event {