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

Peter Hutterer peter.hutterer at who-t.net
Thu Feb 23 17:07:10 PST 2012


On Thu, Feb 23, 2012 at 01:02:18PM -0800, Chase Douglas wrote:
> 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

wouldn't a better/simpler approach be to set the click_actions to 0 on a
clickpad? less conditionals, can be documented in the man page and if users
enable them it's their fault (maybe they even like the behaviour).
 
Cheers,
  Peter


More information about the xorg-devel mailing list