Bug 96963

Summary: evaluate/incorporate Chromium OS "gestures" library in libinput
Product: Wayland Reporter: Adam Goode <adam>
Component: libinputAssignee: Wayland bug list <wayland-bugs>
Status: RESOLVED MOVED QA Contact:
Severity: normal    
Priority: medium CC: jwrdegoede, peter.hutterer
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Adam Goode 2016-07-17 04:57:08 UTC
Chromium OS has a standalone gestures library used for providing high quality mouse and multitouch device input:
https://chromium.googlesource.com/chromiumos/platform/gestures/
https://chromium.googlesource.com/chromiumos/platform/gestures/+/master

This is the code in Chromium OS that uses it (the Chromium equivalent to libinput):
https://chromium.googlesource.com/chromium/src/+/master/ui/events/ozone/evdev/


There may be a way for libinput to take advantage of the development efforts of the Chromium developers by using this library to do some touchpad processing. The mouse and touchpad input on Chromium OS is the best on any OS I have used, even with an external USB touchpad.
Comment 1 Peter Hutterer 2016-07-17 23:30:23 UTC
We looked into this before we started implementing gestures, but here were a couple of issues. Hans looked into this and when this recently came up in a private discussion with one fo the googlers he wrote:

"From the top of my head the main reasons where:

1) The chromeos touchpad code came with a number of deps (besides it self
   being an extra dependency)
2) The chromeos touchpad code has lots of tweakable settings and basically
   came with a completely tuned per touchpad profile, this is doable if
   you are in full control of the hardware and have only a limited range
   of hardware to support, but is not really an option if you want something
   which works on every laptop out there.
3) We did not do gestures yet at that time, and for mouse pointer moving /
   2fg scrolling, our own code was more or less just as good, which combined
   with 1 and especially 2 made going with our own code the best choice
   at that point in time

I think (but I'm not sure) that there also was an issue with the chromeos
code always (or was it never ?) doing tap to click double-tap-drag, etc."

Unless something significant has changed here, this is still a no-go. Unfortunately we spend *a lot* of time working around hardware that is suboptimal and not nearly as much time focusing on hardware that is actually good.
Comment 2 Adam Goode 2016-07-18 21:06:29 UTC
I just asked for some details on the chromium input-dev list. Follow along if interested at https://groups.google.com/a/chromium.org/forum/#!topic/input-dev/pAMSIXPMTXw

Thanks for taking the time to look into this.
Comment 3 Peter Hutterer 2016-08-04 06:45:49 UTC
Closing as MOVED for now so I don't have to keep monitoring it ;)
Please reopen once anyone pays attention to the chromium list

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.