Bug 73158 - [PATCH]Enable clicking/tapping but no motion with TouchpadOff=3
Summary: [PATCH]Enable clicking/tapping but no motion with TouchpadOff=3
Status: RESOLVED WONTFIX
Alias: None
Product: xorg
Classification: Unclassified
Component: Input/synaptics (show other bugs)
Version: git
Hardware: All All
: medium enhancement
Assignee: Peter Hutterer
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 74544
  Show dependency treegraph
 
Reported: 2013-12-30 15:17 UTC by John Pham
Modified: 2014-06-17 07:55 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Enables clicking/tapping but no motion with TouchpadOff=3 (3.69 KB, patch)
2013-12-30 15:17 UTC, John Pham
no flags Details | Splinter Review
Update man pages (1.16 KB, patch)
2013-12-30 15:18 UTC, John Pham
no flags Details | Splinter Review
0001-Add-another-third-state-to-TouchpadOff-for-disabling.patch (6.92 KB, patch)
2014-02-05 01:47 UTC, Peter Hutterer
no flags Details | Splinter Review
0001-Add-another-third-state-to-TouchpadOff-for-disabling.patch (9.18 KB, patch)
2014-02-10 23:27 UTC, Peter Hutterer
no flags Details | Splinter Review
Alternative implementation of touchpad off=3 with gestures still enabled (2.00 KB, patch)
2014-06-17 07:55 UTC, Vincent Bernat
no flags Details | Splinter Review

Description John Pham 2013-12-30 15:17:19 UTC
Created attachment 91334 [details] [review]
Enables clicking/tapping but no motion with TouchpadOff=3

On the newer thinkpads, the discrete trackpoint buttons have been removed in favor of softbuttons on the trackpad. This patch allows disabling trackpad movement while still allowing clicking functionality necessary for with the trackpoint.
Comment 1 John Pham 2013-12-30 15:18:35 UTC
Created attachment 91335 [details] [review]
Update man pages
Comment 2 Peter Hutterer 2014-01-06 00:45:50 UTC
Please don't use atoi() for conversion, use strtol instead. Make sure you keep the correct indentation levels (tabs vs spaces) where appropriate.

Also, isn't optarg always 0? getopt would require a colon after "t" to require an argument, otherwise it won't parse it. We don't want to require an argument though, it would break the current interface and needs to be optional.

The commit message needs some serious rework too, it needs an explanation why this is needed and what the (intended) interactions are with other parts, tapping, scrolling, etc.
Comment 3 Peter Hutterer 2014-01-06 00:52:37 UTC
Might be worth reading through Bug 66658 as well, it's somewhat related.
Comment 4 Peter Hutterer 2014-02-05 01:47:12 UTC
Created attachment 93423 [details] [review]
0001-Add-another-third-state-to-TouchpadOff-for-disabling.patch

Updated patch based on John's patch.

This only adds the property and the in-driver hookups as well as the syndaemon -t toggle. The other features are tracked in Bug 74544.

Benjamin, when you get to test this check if we need to disable tapping and scrolling too in the new "motion" mode, gut feeling tells me it may be necessary.
Comment 5 Benjamin Tissoires 2014-02-05 20:18:49 UTC
Peter, the proposed patch is lacking the synclient.c update to change the param[] array:
"TouchpadOff" should get a max of 3 instead of 2.

Regarding the question if we need to disable the wheel, the answer is yes, I managed to get some scrolling events while laying my palm on the touchpad (1st touch) and clicking on the software button (2nd click). It sometimes makes the raw ABS_X|Y events jumps from one coordinate to the other, sending a huge scroll event.

Tapping events may not be a problem though. But maybe this is because I do not have tapping enabled :-P
Comment 6 Benjamin Tissoires 2014-02-10 17:10:09 UTC
So I just added the patch regarding the secondary soft buttons area (#74543), and found something "funny":
if you lay down your palm on the touchpad while using the trackstick (Off=3),
ABS_X|Y are pointing to the palm area, not the finger you may land after.
So basically, when I clicked on the top left button area, I got a right click, because the touchpad thinks I have my finger on the bottom right area.

This might not be very easy to fix given that synaptics does not track each finger individually.
Comment 7 Peter Hutterer 2014-02-10 21:34:54 UTC
what's the location of the palm vs the software buttons? maybe we need to make TouchpadOff into a top-softbutton-only option if we can differ this way.
Comment 8 Peter Hutterer 2014-02-10 23:27:23 UTC
Created attachment 93815 [details] [review]
0001-Add-another-third-state-to-TouchpadOff-for-disabling.patch

Updated patch. Option renamed to "click-only", now only allows physical clicks (including softbuttons) but no scrolling/tapping.
Comment 9 Peter Hutterer 2014-03-07 05:58:57 UTC
commit eea73358760c7ff9c9dac061f265753637c6f25c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 21 10:31:37 2014 +0100

    Add another third state to TouchpadOff for disabling all but button clicks
Comment 10 Peter Hutterer 2014-03-12 07:49:17 UTC
Note: this patch was reverted again, with the current git master 17bbcad28000bbd896a33047c0720ada89e05f5d the touchpad should behave well enough that no extra state is needed.

Changing from FIXED to WONTFIX since the state is not necessary anymore.
Comment 11 Vincent Bernat 2014-06-12 06:16:24 UTC
Related to #70780, it would be convenient to have an option to disable motion while enabling special gestures like scrolling. This would allow scrolling with the touchpad which is better than no scrolling at all.

I didn't test your patch, maybe it would work out of the box with it.
Comment 12 Peter Hutterer 2014-06-15 22:55:43 UTC
that was the original intent of the patch but since we don't need this patch anymore we don't have this option. I'd rather have the driver fixed to provide proper detection of palm and accidental touches so we don't need a custom option that disables motion.
Comment 13 Vincent Bernat 2014-06-17 07:55:48 UTC
Created attachment 101208 [details] [review]
Alternative implementation of touchpad off=3 with gestures still enabled

Well, yes, perfect palm detection would render mooth such tentatives. However, it may also never happen.

Currently, I am using the attached patch which is smaller than other patches and work fine for me while keeping the ability to use gestures.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.