From 901ba985e6a208dc38fa82e544581290610310c5 Mon Sep 17 00:00:00 2001
From: Fabio Valentini <decathorpe@gmail.com>
Date: Tue, 16 Jul 2019 10:28:00 +0200
Subject: [PATCH 26/28] backends: Add MetaInputMapper method to lookup devices
from outputs
---
src/backends/meta-input-mapper-private.h | 7 +++++++
src/backends/meta-input-mapper.c | 23 +++++++++++++++++++++++
2 files changed, 30 insertions(+)
diff --git a/src/backends/meta-input-mapper-private.h b/src/backends/meta-input-mapper-private.h
index 53bc66b06..15c4605ed 100644
--- a/src/backends/meta-input-mapper-private.h
+++ b/src/backends/meta-input-mapper-private.h
@@ -23,6 +23,7 @@
#define META_INPUT_MAPPER_H
#include <clutter/clutter.h>
+#include "meta-monitor-manager-private.h"
#define META_TYPE_INPUT_MAPPER (meta_input_mapper_get_type ())
@@ -37,4 +38,10 @@ void meta_input_mapper_add_device (MetaInputMapper *mapper,
void meta_input_mapper_remove_device (MetaInputMapper *mapper,
ClutterInputDevice *device);
+ClutterInputDevice *
+meta_input_mapper_get_logical_monitor_device (MetaInputMapper *mapper,
+ MetaLogicalMonitor *logical_monitor,
+ ClutterInputDeviceType device_type);
+
+
#endif /* META_INPUT_MAPPER_H */
diff --git a/src/backends/meta-input-mapper.c b/src/backends/meta-input-mapper.c
index 026dacb58..013c2a427 100644
--- a/src/backends/meta-input-mapper.c
+++ b/src/backends/meta-input-mapper.c
@@ -615,3 +615,26 @@ meta_input_mapper_remove_device (MetaInputMapper *mapper,
g_hash_table_remove (mapper->input_devices, device);
}
}
+
+ClutterInputDevice *
+meta_input_mapper_get_logical_monitor_device (MetaInputMapper *mapper,
+ MetaLogicalMonitor *logical_monitor,
+ ClutterInputDeviceType device_type)
+{
+ MetaMapperOutputInfo *output;
+ GList *l;
+
+ output = g_hash_table_lookup (mapper->output_devices, logical_monitor);
+ if (!output)
+ return NULL;
+
+ for (l = output->input_devices; l; l = l->next)
+ {
+ MetaMapperInputInfo *input = l->data;
+
+ if (clutter_input_device_get_device_type (input->device) == device_type)
+ return input->device;
+ }
+
+ return NULL;
+}
--
2.21.0