Bug 1230441 - c720 trackpad (Cypress APA Trackpad) "hard clicks" are very difficult
Summary: c720 trackpad (Cypress APA Trackpad) "hard clicks" are very difficult
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: libinput
Version: 22
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Peter Hutterer
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1230462
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-06-10 22:32 UTC by Wade Berrier
Modified: 2015-06-24 19:58 UTC (History)
2 users (show)

Fixed In Version: libinput-0.17.0-5.fc22
Clone Of:
Environment:
Last Closed: 2015-06-23 09:09:32 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
evemu-recording of difficult hard click (12.09 KB, text/plain)
2015-06-10 22:32 UTC, Wade Berrier
no flags Details
repeated hard clicks (144.84 KB, text/plain)
2015-06-10 22:33 UTC, Wade Berrier
no flags Details
0.17-1 libinput (32.52 KB, image/png)
2015-06-11 17:48 UTC, Wade Berrier
no flags Details
0.17-2 libinput (9.57 KB, image/png)
2015-06-11 17:48 UTC, Wade Berrier
no flags Details
ChromeOS hard clicks (17.35 KB, image/png)
2015-06-11 17:49 UTC, Wade Berrier
no flags Details
paint results from scratchbuild (10.84 KB, image/png)
2015-06-12 13:28 UTC, Wade Berrier
no flags Details
paint results from scratchbuild #2 (5.92 KB, image/png)
2015-06-15 14:22 UTC, Wade Berrier
no flags Details
chromeos test #2 (19.40 KB, image/png)
2015-06-15 14:48 UTC, Wade Berrier
no flags Details

Description Wade Berrier 2015-06-10 22:32:19 UTC
Created attachment 1037447 [details]
evemu-recording of difficult hard click

Description of problem:

The mouse pointer moves a lot when trying to do hard clicks with the trackpad.  This makes it very difficult to click on stuff, because often the pointer has moved away from the target.


Version-Release number of selected component (if applicable): 0.17.0-1.fc22


How reproducible:

Very reproducible.

Steps to Reproduce:
1. Try hard clicking with with touchpad

Actual results:

Pointer moves a lot, often missing the intended target.

Expected results:

I would expect the pointer to stay put while the hard click is taking place.

Additional info:

Attached is a recording of the events

Comment 1 Wade Berrier 2015-06-10 22:33:36 UTC
Created attachment 1037448 [details]
repeated hard clicks

This is a recording of multiple hard clicks, without any intended mouse movement.

Comment 2 Peter Hutterer 2015-06-11 07:00:53 UTC
I think this will be a duplicate of bug 1230462. Can you test this again with the scratch build I provided there? Thanks

Comment 3 Wade Berrier 2015-06-11 17:47:32 UTC
That scratch build improved things tremendously!

I think there's still room for improvement.

See the attached photos.  These were done with a normal paint app.  The dots were "clean" hard clicks, and the lines are "sloppy" hard clicks.  The location of the paint in the picture is roughly where the click was done on the trackpad.

Again, that build really cleaned things up.

Compare the sample from chromeos, which is a combination of "clean" and "sloppy" hard clicks: they are indistinguishable.

(Forgive me for always referencing ChromeOS, but this is a necessity for those with low dexterity, ie: my 5 year old)

Comment 4 Wade Berrier 2015-06-11 17:48:11 UTC
Created attachment 1037792 [details]
0.17-1 libinput

Comment 5 Wade Berrier 2015-06-11 17:48:42 UTC
Created attachment 1037793 [details]
0.17-2 libinput

Comment 6 Wade Berrier 2015-06-11 17:49:16 UTC
Created attachment 1037794 [details]
ChromeOS hard clicks

Comment 7 Peter Hutterer 2015-06-12 06:04:22 UTC
can you be more precise on the remaining problem please? is it that the pointer moves before the click, during the click or after the click?

Comment 8 Peter Hutterer 2015-06-12 07:30:47 UTC
found it, was a simple bug in libinput. scratch build here:
http://koji.fedoraproject.org/koji/taskinfo?taskID=10029272

There's two more changes that I'll need to do here but let me know how you go with this one for now anyway.

Comment 9 Wade Berrier 2015-06-12 13:28:25 UTC
Created attachment 1038068 [details]
paint results from scratchbuild

This does seem to help in different ways over the previous scratch build.

Note in the top row: the clicks were intended to be aligned horizontally.  The resulting click was a "point", but the pointer moved on the way down, just before the click.

Also, the rest of the lines (sloppy clicks), the pointer moved up on the way up.

Comment 10 Peter Hutterer 2015-06-15 01:19:30 UTC
and another one. This should be the proper correct fix now, but tbh I'm not sure it'll change much for you here. The remaining lines are likely a different cause.
http://koji.fedoraproject.org/koji/taskinfo?taskID=10054545

What this build does is require a 5mm movement from the finger after clicking the button before we send motion events again. That avoids erroneous movements (and should help with Bug 1230462 as well).

The remaining issues probably need solving by looking at pressure build-up. The finger pinning only happens on button click, so any movement before the click will still happen. It should help with the movement after the click though.

Comment 11 Peter Hutterer 2015-06-15 01:23:31 UTC
and here's the successful koji build. sorry about that.
http://koji.fedoraproject.org/koji/taskinfo?taskID=10054551

Comment 12 Wade Berrier 2015-06-15 14:22:56 UTC
Created attachment 1039071 [details]
paint results from scratchbuild #2

This has given the best results by far.

"Sloppy" clicks work most of the time.  Sometimes it still happens (~25%?):

a) as shown by the first row of dots that are not lined up vertically: pointer moves before click is done

b) as shown by the lines: pointer moves during the release of the click

But again, much much much much better.

Comment 13 Wade Berrier 2015-06-15 14:48:55 UTC
Created attachment 1039078 [details]
chromeos test #2

BTW, I was able to reproduce each of these "artifacts" on chromeos.  They just don't seem to happen as often (~5-10%?).

Comment 14 Fedora Update System 2015-06-16 03:59:13 UTC
libinput-0.17.0-4.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/libinput-0.17.0-4.fc22

Comment 15 Peter Hutterer 2015-06-16 04:12:43 UTC
(In reply to Wade Berrier from comment #12)
> a) as shown by the first row of dots that are not lined up vertically:
> pointer moves before click is done

yeah, this needs some pressure curve analysis during events to stop this from happening. Not sure yet how to do this.

> b) as shown by the lines: pointer moves during the release of the click

the patch in 0.17.0-4 now has a 3mm threshold before we unpin it after the button release. There isn't much we can do here otherwise though, for those users that use a single finger, click, then continue a larger threshold or continuous finger locking will break the behaviour. sorry

Comment 16 Fedora Update System 2015-06-16 07:54:35 UTC
libinput-0.17.0-5.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/libinput-0.17.0-5.fc22

Comment 17 Wade Berrier 2015-06-16 14:19:12 UTC
(In reply to Peter Hutterer from comment #15)
> (In reply to Wade Berrier from comment #12)
> > a) as shown by the first row of dots that are not lined up vertically:
> > pointer moves before click is done
> 
> yeah, this needs some pressure curve analysis during events to stop this
> from happening. Not sure yet how to do this.
> 
> > b) as shown by the lines: pointer moves during the release of the click
> 
> the patch in 0.17.0-4 now has a 3mm threshold before we unpin it after the
> button release. There isn't much we can do here otherwise though, for those
> users that use a single finger, click, then continue a larger threshold or
> continuous finger locking will break the behaviour. sorry

No worries, this is such a huge improvement, thanks!!

Comment 18 Fedora Update System 2015-06-21 00:36:13 UTC
Package libinput-0.17.0-5.fc22:
* should fix your issue,
* was pushed to the Fedora 22 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing libinput-0.17.0-5.fc22'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2015-10372/libinput-0.17.0-5.fc22
then log in and leave karma (feedback).

Comment 19 Fedora Update System 2015-06-23 09:09:32 UTC
libinput-0.17.0-5.fc22 has been pushed to the Fedora 22 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 20 Peter Hutterer 2015-06-23 22:38:55 UTC
just FYI, I'm going to leave this bug as closed and consider it fixed, I think the improvements make it a lot better to use. There are still leftovers (see comment 15) that we'll eventually need to fix but they should be tracked in a separate bug. Feel free to file those but especially for the pressure handling
it is an upstream feature request that will take longer to handle though, so best to file this at bugs.freedesktop.org (Wayland/libinput)

Comment 21 Wade Berrier 2015-06-24 19:58:32 UTC
Sounds good, it's much much much better, thank you!

Upstream bug filed here for leftovers:

https://bugs.freedesktop.org/show_bug.cgi?id=91097


Note You need to log in before you can comment on or make changes to this bug.