8e4b3c6
From 77e4a88e1a4abd72f036eb6fda208cb36faff162 Mon Sep 17 00:00:00 2001
8e4b3c6
From: Peter Hutterer <peter.hutterer@who-t.net>
8e4b3c6
Date: Wed, 26 Aug 2009 09:48:06 +1000
8e4b3c6
Subject: [PATCH] Skip button mappings only for core devices.
8e4b3c6
8e4b3c6
Since server 1.4, devices are unlikely to be marked as IsXExtensionPointer.
8e4b3c6
More common is IsXExtensionKeyboard or IsXExtensionPointer.
8e4b3c6
However, with many pointer devices also having keys (e.g. most wireless
8e4b3c6
combos) a check for IsXExtensionPointer is unreliable.
8e4b3c6
8e4b3c6
In gsd-mouse-manager, skip the XInput button mapping only if the device is a
8e4b3c6
core device. Otherwise, test for buttons.
8e4b3c6
8e4b3c6
---
8e4b3c6
 plugins/mouse/gsd-mouse-manager.c |    3 ++-
8e4b3c6
 1 files changed, 2 insertions(+), 1 deletions(-)
8e4b3c6
8e4b3c6
diff --git a/plugins/mouse/gsd-mouse-manager.c b/plugins/mouse/gsd-mouse-manager.c
8e4b3c6
index 30e649d..7fae963 100644
8e4b3c6
--- a/plugins/mouse/gsd-mouse-manager.c
8e4b3c6
+++ b/plugins/mouse/gsd-mouse-manager.c
8e4b3c6
@@ -283,7 +283,8 @@ set_xinput_devices_left_handed (gboolean left_handed)
8e4b3c6
         for (i = 0; i < n_devices; i++) {
8e4b3c6
                 XDevice *device = NULL;
8e4b3c6
 
8e4b3c6
-                if ((device_info[i].use != IsXExtensionPointer) ||
8e4b3c6
+                if ((device_info[i].use == IsXPointer) ||
8e4b3c6
+                    (device_info[i].use == IsXKeyboard) ||
8e4b3c6
                     (!xinput_device_has_buttons (&device_info[i])))
8e4b3c6
                         continue;
8e4b3c6
 
8e4b3c6
-- 
8e4b3c6
1.6.3.rc1.2.g0164.dirty
8e4b3c6