Signed-off-by: Takashi Iwai <[email protected]>
---
 src/eventcomm.c |   26 ++++++++++++++++++++------
 1 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/src/eventcomm.c b/src/eventcomm.c
index 8a77788..517e6c3 100644
--- a/src/eventcomm.c
+++ b/src/eventcomm.c
@@ -169,6 +169,25 @@ event_query_info(InputInfoPtr pInfo)
 }
 
 static void
+event_query_clickpad(LocalDevicePtr local)
+{
+    SynapticsPrivate *priv = (SynapticsPrivate *)local->private;
+
+    /* clickpad device reports only the single left button mask */
+    if (priv->has_left && !priv->has_right && !priv->has_middle &&
+       !priv->has_double &&
+       priv->model == MODEL_SYNAPTICS) {
+       priv->is_clickpad = TRUE;
+       /* enable right/middle button caps; otherwise gnome-settings-daemon
+        * will ignore this device for left/right-hand setup because of a
+        * single-button
+        */
+       priv->has_right = priv->has_middle = TRUE;
+       xf86Msg(X_INFO, "%s: is Clickpad device\n", local->name);
+    }
+}
+
+static void
 event_query_led(LocalDevicePtr local)
 {
     SynapticsPrivate *priv = (SynapticsPrivate *)local->private;
@@ -297,12 +316,6 @@ event_query_axis_ranges(InputInfoPtr pInfo)
        }
 
        xf86Msg(X_PROBED, "%s: buttons:%s\n", pInfo->name, buf);
-
-       /* clickpad device reports only the single left button mask */
-       if (priv->has_left && !priv->has_right && !priv->has_middle && 
!priv->has_double) {
-           priv->is_clickpad = TRUE;
-           xf86Msg(X_PROBED, "%s: is Clickpad device\n", local->name);
-       }
     }
 }
 
@@ -462,6 +475,7 @@ EventReadDevDimensions(InputInfoPtr pInfo)
     if (event_query_is_touchpad(pInfo->fd, (need_grab) ? *need_grab : TRUE))
        event_query_axis_ranges(pInfo);
     event_query_info(pInfo);
+    event_query_clickpad(local);
     event_query_led(local);
 }
 
-- 
1.7.3.1

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to