Bug 96963 - evaluate/incorporate Chromium OS "gestures" library in libinput
Summary: evaluate/incorporate Chromium OS "gestures" library in libinput
Status: RESOLVED MOVED
Alias: None
Product: Wayland
Classification: Unclassified
Component: libinput (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Wayland bug list
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-07-17 04:57 UTC by Adam Goode
Modified: 2016-08-04 06:45 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

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.