Bug 55365 - Clickpad never issues a ClickFinger3 event
Summary: Clickpad never issues a ClickFinger3 event
Alias: None
Product: xorg
Classification: Unclassified
Component: Input/synaptics (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Peter Hutterer
QA Contact:
Depends on:
Reported: 2012-09-26 19:56 UTC by Michal Petrucha
Modified: 2014-02-19 22:51 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:

dmesg (201.40 KB, text/plain)
2012-09-26 19:56 UTC, Michal Petrucha
no flags Details
xorg conf (1.69 KB, text/plain)
2012-09-26 19:57 UTC, Michal Petrucha
no flags Details
Xorg.0.log (185.24 KB, text/plain)
2012-09-26 20:08 UTC, Michal Petrucha
no flags Details

Description Michal Petrucha 2012-09-26 19:56:15 UTC
Created attachment 67744 [details]

When clicking with three fingers on the touchpad, either a
button 1 or a ClickFinger2 event is issued seemingly randomly.
Also, from time to time, a two-finger click issues a button 1

Using git bisect I was able to reconstruct the following

        the last commit where everything works

        disables ClickFingers altogether and a button 1 event is
        always fired

        brings back ClickFingers but for each logical button
        other than 1 an additional button 1 event is fired

        breaks ClickFinger3 as described above, i.e. sometimes
        it acts as a button 1, other times as a two-finger
        click; the additional button 1 event is still there

        removes the additional button 1 event and thus brings
        the exact behavior described above

Each build was done in a clean working tree, in each tested
revision synclient -m 50 reported the correct number of fingers
touching the touchpad for up to three fingers.

The attached X.org config file was used, I'll also attach the
dmesg output and Xorg.0.log. The laptop is Ideapad Y580,
distribution Gentoo.
Comment 1 Michal Petrucha 2012-09-26 19:57:50 UTC
Created attachment 67745 [details]
xorg conf
Comment 2 Michal Petrucha 2012-09-26 20:08:27 UTC
Created attachment 67746 [details]
Comment 3 Peter Hutterer 2012-10-19 00:47:58 UTC
does your touchpad actually support three touchpoints? I have a clickpad here that pretends to do so, except that it doesn't.

Grab https://github.com/whot/mtview and run it against the device to check if you can really see three touch points. You'll need the following snippet for mtview to see events

$> cat /etc/X11/xorg.conf.d/99-synaptics-disable-grab.conf
Section "InputClass"
	Identifier "Don't grab synaptics"
	MatchDriver "synaptics"
	Option "GrabEventDevice" "off"
Comment 4 Michal Petrucha 2013-05-11 10:45:04 UTC
Okay, it took me a really long time to test this. It appears you're right, when I put a third finger on the touchpad, the second circle in mtview doesn't get updated anymore.

However, the point about synclient should still be valid. The last time I tried, synclient -m 50 showed the correct number of fingers touching the clickpad when up to three fingers were touching it.

(For some reason I can't verify this right now, because synclient -m 50 always exits with "Can't access shared memory area. SHMConfig disabled?" even though the option is enabled in the X.org config and shown in its log.)

Isn't the information about the number of fingers sufficient to decide which button is emulated?
Comment 5 Peter Hutterer 2013-05-12 23:20:36 UTC
it is, but the data synclient -m showed isn't the same that's available in the driver for all models.

e.g. BTN_TOOL_TRIPLETAP signals three fingers, but if this is a MT-capable touchpad we just use the touchpoints that we actually get the data for.

as for the shm issue - you didn't update the driver? it's been removed since.
Comment 6 Shawn Rutledge 2013-12-15 07:13:28 UTC
The guessing introduced in 420e0abef663729b3ce6e9d26360e616b7270ba6 causes this problem for me too on a Thinkpad Helix.  I simply commented out this

//    if (para->clickpad)                                                   
//        nfingers = clickpad_guess_clickfingers(priv, hw);

and now 3-finger clicking is working fine again.
Comment 7 Peter Hutterer 2013-12-15 23:47:10 UTC
Comment 8 Peter Hutterer 2014-02-19 22:51:46 UTC
commit 51b6bf3c1083638527b18696c2b682fd78c97070
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 16 09:43:40 2013 +1000

    On clickpads with two touchpoints, try to detect clickfinger 3 actions

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.