summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichel Dänzer <mdaenzer@redhat.com>2022-09-20 19:04:33 +0200
committerRobert Mader <robert.mader@collabora.com>2022-12-02 17:31:57 +0100
commitd2df89e6ddd06a8d9d1ba381435c51ad9daf1849 (patch)
tree17f07bb4f4da837a25ccd3f342f2b284c2f8fb3f
parent17596f3d3e49e3da7caedceee7aa8d8671b46dc3 (diff)
downloadmutter-d2df89e6ddd06a8d9d1ba381435c51ad9daf1849.tar.gz
backend/native: Sending modifiers to clients can be disabled via udev
Using the new udev tag "mutter-device-disable-client-modifiers". Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2637> (cherry picked from commit efc4fa333cd5f0bd129a67d7c4316babf3dc94d5)
-rw-r--r--src/backends/native/meta-backend-native.c3
-rw-r--r--src/backends/native/meta-udev.c7
-rw-r--r--src/backends/native/meta-udev.h2
3 files changed, 12 insertions, 0 deletions
diff --git a/src/backends/native/meta-backend-native.c b/src/backends/native/meta-backend-native.c
index 224538787..88b7e8f9b 100644
--- a/src/backends/native/meta-backend-native.c
+++ b/src/backends/native/meta-backend-native.c
@@ -448,6 +448,9 @@ create_gpu_from_udev_device (MetaBackendNative *native,
if (meta_is_udev_device_disable_modifiers (device))
flags |= META_KMS_DEVICE_FLAG_DISABLE_MODIFIERS;
+ if (meta_is_udev_device_disable_client_modifiers (device))
+ flags |= META_KMS_DEVICE_FLAG_DISABLE_CLIENT_MODIFIERS;
+
if (meta_is_udev_device_preferred_primary (device))
flags |= META_KMS_DEVICE_FLAG_PREFERRED_PRIMARY;
diff --git a/src/backends/native/meta-udev.c b/src/backends/native/meta-udev.c
index 0a9ed5fd1..c9b0fc74e 100644
--- a/src/backends/native/meta-udev.c
+++ b/src/backends/native/meta-udev.c
@@ -103,6 +103,13 @@ meta_is_udev_device_disable_modifiers (GUdevDevice *device)
}
gboolean
+meta_is_udev_device_disable_client_modifiers (GUdevDevice *device)
+{
+ return meta_has_udev_device_tag (device,
+ "mutter-device-disable-client-modifiers");
+}
+
+gboolean
meta_is_udev_device_ignore (GUdevDevice *device)
{
return meta_has_udev_device_tag (device, "mutter-device-ignore");
diff --git a/src/backends/native/meta-udev.h b/src/backends/native/meta-udev.h
index dfd6337a0..27d5d2ed4 100644
--- a/src/backends/native/meta-udev.h
+++ b/src/backends/native/meta-udev.h
@@ -34,6 +34,8 @@ gboolean meta_is_udev_device_boot_vga (GUdevDevice *device);
gboolean meta_is_udev_device_disable_modifiers (GUdevDevice *device);
+gboolean meta_is_udev_device_disable_client_modifiers (GUdevDevice *device);
+
gboolean meta_is_udev_device_ignore (GUdevDevice *device);
gboolean meta_is_udev_test_device (GUdevDevice *device);