[PATCH xf86-input-synaptics v3 03/10] Disable click action functionality for clickpads

Chase Douglas chase.douglas at canonical.com
Thu Feb 23 13:02:18 PST 2012


Clickpad press-and-drag with two fingers will break click actions.
Disable them for these devices until a good solution is found for
letting both functionalities co-exist.

Signed-off-by: Chase Douglas <chase.douglas at canonical.com>
---
 src/synaptics.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/synaptics.c b/src/synaptics.c
index e20d6a8..e90ec9e 100644
--- a/src/synaptics.c
+++ b/src/synaptics.c
@@ -2469,7 +2469,7 @@ update_hw_button_state(const InputInfoPtr pInfo, struct SynapticsHwState *hw,
     hw->middle |= HandleMidButtonEmulation(priv, hw, now, delay);
 
     /* Fingers emulate other buttons */
-    if(hw->left && hw->numFingers >= 1){
+    if(!para->clickpad && hw->left && hw->numFingers >= 1){
         handle_clickfinger(para, hw);
     }
 
@@ -2644,10 +2644,12 @@ HandleTouches(InputInfoPtr pInfo, struct SynapticsHwState *hw)
     Bool restart_touches = FALSE;
     int i;
 
-    if (para->click_action[F3_CLICK1] || para->tap_action[F3_TAP])
+    if ((!para->clickpad && para->click_action[F3_CLICK1]) ||
+        para->tap_action[F3_TAP])
         min_touches = 4;
-    else if (para->click_action[F2_CLICK1] || para->tap_action[F2_TAP] ||
-             para->scroll_twofinger_vert || para->scroll_twofinger_horiz)
+    else if ((!para->clickpad && para->click_action[F2_CLICK1]) ||
+             para->tap_action[F2_TAP] || para->scroll_twofinger_vert ||
+             para->scroll_twofinger_horiz)
         min_touches = 3;
 
     /* Count new number of active touches */
-- 
1.7.9



More information about the xorg-devel mailing list