[gnome-settings-daemon] common: Add mouse presence detection



commit f0cbd6483e6c68df2db9bfe0c889735e27983f14
Author: Ondrej Holy <oholy redhat com>
Date:   Mon Aug 20 12:58:19 2012 +0200

    common: Add mouse presence detection
    
    https://bugzilla.gnome.org/show_bug.cgi?id=677206

 plugins/common/gsd-input-helper.c |   13 +++++++++++++
 plugins/common/gsd-input-helper.h |    2 ++
 2 files changed, 15 insertions(+), 0 deletions(-)
---
diff --git a/plugins/common/gsd-input-helper.c b/plugins/common/gsd-input-helper.c
index 78f1873..c15e135 100644
--- a/plugins/common/gsd-input-helper.c
+++ b/plugins/common/gsd-input-helper.c
@@ -188,6 +188,12 @@ device_info_is_touchscreen (XDeviceInfo *device_info)
         return (device_info->type == XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), XI_TOUCHSCREEN, False));
 }
 
+gboolean
+device_info_is_mouse (XDeviceInfo *device_info)
+{
+        return (device_info->type == XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), XI_MOUSE, False));
+}
+
 static gboolean
 device_type_is_present (InfoIdentifyFunc info_func,
                         DeviceIdentifyFunc device_func)
@@ -250,6 +256,13 @@ touchpad_is_present (void)
                                        device_is_touchpad);
 }
 
+gboolean
+mouse_is_present (void)
+{
+        return device_type_is_present (device_info_is_mouse,
+                                       NULL);
+}
+
 char *
 xdevice_get_device_node (int deviceid)
 {
diff --git a/plugins/common/gsd-input-helper.h b/plugins/common/gsd-input-helper.h
index dfde51f..fb898b0 100644
--- a/plugins/common/gsd-input-helper.h
+++ b/plugins/common/gsd-input-helper.h
@@ -61,9 +61,11 @@ gboolean  device_is_touchpad       (XDevice                *xdevice);
 
 gboolean  device_info_is_touchpad    (XDeviceInfo         *device_info);
 gboolean  device_info_is_touchscreen (XDeviceInfo         *device_info);
+gboolean  device_info_is_mouse       (XDeviceInfo         *device_info);
 
 gboolean  touchpad_is_present     (void);
 gboolean  touchscreen_is_present  (void);
+gboolean  mouse_is_present        (void);
 
 gboolean  device_set_property     (XDevice                *xdevice,
                                    const char             *device_name,



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