[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