summaryrefslogtreecommitdiff
path: root/user/sway/libinput-new-api.patch
diff options
context:
space:
mode:
Diffstat (limited to 'user/sway/libinput-new-api.patch')
-rw-r--r--user/sway/libinput-new-api.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/user/sway/libinput-new-api.patch b/user/sway/libinput-new-api.patch
new file mode 100644
index 000000000..6938f9b3a
--- /dev/null
+++ b/user/sway/libinput-new-api.patch
@@ -0,0 +1,46 @@
+From e2409aa49611bee1e1b99033461bfab0a7550c48 Mon Sep 17 00:00:00 2001
+From: Simon Ser <contact@emersion.fr>
+Date: Wed, 20 Nov 2024 20:41:16 +0100
+Subject: [PATCH] ipc-json: handle LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_STICKY
+
+New entry introduced in libinput 1.27.0.
+---
+ meson.build | 8 +++-----
+ sway/ipc-json.c | 5 +++++
+ 2 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 71e75fd9bc..9ce5723e78 100644
+--- a/meson.build
++++ b/meson.build
+@@ -109,11 +109,9 @@ conf_data.set10('HAVE_LIBSYSTEMD', sdbus.found() and sdbus.name() == 'libsystemd
+ conf_data.set10('HAVE_LIBELOGIND', sdbus.found() and sdbus.name() == 'libelogind')
+ conf_data.set10('HAVE_BASU', sdbus.found() and sdbus.name() == 'basu')
+ conf_data.set10('HAVE_TRAY', have_tray)
+-conf_data.set10('HAVE_LIBINPUT_CONFIG_ACCEL_PROFILE_CUSTOM', cc.has_header_symbol(
+- 'libinput.h',
+- 'LIBINPUT_CONFIG_ACCEL_PROFILE_CUSTOM',
+- dependencies: libinput,
+-))
++foreach sym : ['LIBINPUT_CONFIG_ACCEL_PROFILE_CUSTOM', 'LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_STICKY']
++ conf_data.set10('HAVE_' + sym, cc.has_header_symbol('libinput.h', sym, dependencies: libinput))
++endforeach
+
+ scdoc = dependency('scdoc', version: '>=1.9.2', native: true, required: get_option('man-pages'))
+ if scdoc.found()
+diff --git a/sway/ipc-json.c b/sway/ipc-json.c
+index 571338a4f1..fc1df2ac64 100644
+--- a/sway/ipc-json.c
++++ b/sway/ipc-json.c
+@@ -931,6 +931,11 @@ static json_object *describe_libinput_device(struct libinput_device *device) {
+ case LIBINPUT_CONFIG_DRAG_LOCK_DISABLED:
+ drag_lock = "disabled";
+ break;
++#if HAVE_LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_STICKY
++ case LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_STICKY:
++ drag_lock = "enabled_sticky";
++ break;
++#endif
+ }
+ json_object_object_add(object, "tap_drag_lock",
+ json_object_new_string(drag_lock));