[mutter/wip/rstrode/rhel-8.0.0: 104/117] clutter: Extend touchpad device property check for Synaptics



commit b4bb859a6ad1566a3725b1c1c9c89d55e4c22a04
Author: Carlos Garnacho <carlosg gnome org>
Date:   Tue Feb 13 11:44:40 2018 +0100

    clutter: Extend touchpad device property check for Synaptics
    
    So we reliably get CLUTTER_TOUCHPAD_DEVICE for those. The other heuristics
    to get the device type may fall short.

 clutter/clutter/x11/clutter-device-manager-xi2.c | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)
---
diff --git a/clutter/clutter/x11/clutter-device-manager-xi2.c 
b/clutter/clutter/x11/clutter-device-manager-xi2.c
index 62f558380..6794a2e0c 100644
--- a/clutter/clutter/x11/clutter-device-manager-xi2.c
+++ b/clutter/clutter/x11/clutter-device-manager-xi2.c
@@ -267,8 +267,9 @@ is_touch_device (XIAnyClassInfo         **classes,
 }
 
 static gboolean
-is_touchpad_device (ClutterBackendX11 *backend_x11,
-                    XIDeviceInfo      *info)
+query_exists_device_property (ClutterBackendX11 *backend_x11,
+                              XIDeviceInfo      *info,
+                              const gchar       *property)
 {
   gulong nitems, bytes_after;
   guint32 *data = NULL;
@@ -276,7 +277,7 @@ is_touchpad_device (ClutterBackendX11 *backend_x11,
   Atom type;
   Atom prop;
 
-  prop = XInternAtom (backend_x11->xdpy, "libinput Tapping Enabled", True);
+  prop = XInternAtom (backend_x11->xdpy, property, True);
   if (prop == None)
     return FALSE;
 
@@ -297,6 +298,21 @@ is_touchpad_device (ClutterBackendX11 *backend_x11,
   return TRUE;
 }
 
+static gboolean
+is_touchpad_device (ClutterBackendX11 *backend_x11,
+                    XIDeviceInfo      *info)
+{
+  if (query_exists_device_property (backend_x11, info,
+                                    "libinput Tapping Enabled"))
+    return TRUE;
+
+  if (query_exists_device_property (backend_x11, info,
+                                    "Synaptics Off"))
+    return TRUE;
+
+  return FALSE;
+}
+
 static gboolean
 get_device_ids (ClutterBackendX11  *backend_x11,
                 XIDeviceInfo       *info,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]