From efc4fa333cd5f0bd129a67d7c4316babf3dc94d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Tue, 20 Sep 2022 19:04:33 +0200 Subject: [PATCH] backend/native: Sending modifiers to clients can be disabled via udev Using the new udev tag "mutter-device-disable-client-modifiers". Part-of: --- src/backends/native/meta-backend-native.c | 3 +++ src/backends/native/meta-udev.c | 7 +++++++ src/backends/native/meta-udev.h | 2 ++ 3 files changed, 12 insertions(+) diff --git a/src/backends/native/meta-backend-native.c b/src/backends/native/meta-backend-native.c index c8bf097b4..c86c72dc5 100644 --- a/src/backends/native/meta-backend-native.c +++ b/src/backends/native/meta-backend-native.c @@ -595,6 +595,9 @@ add_drm_device (MetaBackendNative *backend_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 @@ -102,6 +102,13 @@ meta_is_udev_device_disable_modifiers (GUdevDevice *device) "mutter-device-disable-kms-modifiers"); } +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) { 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);