Bug 19525 (syn-pointer-glide)

Summary: Implement pointer glide (kinetics) for touchpads
Product: xorg Reporter: Dylan McCall <dylanmccall>
Component: Input/synapticsAssignee: Dylan McCall <dylanmccall>
Status: RESOLVED WONTFIX QA Contact:
Severity: enhancement    
Priority: medium CC: egore, peter.hutterer, rydberg
Version: git   
Hardware: Other   
OS: All   
URL: https://code.launchpad.net/~dylanmccall/+junk/synaptics-kinetic-pointer
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Patch for pointer glide in Synaptics touchpad driver, generated by git-diff. none

Description Dylan McCall 2009-01-12 15:58:22 UTC
The touchpad is often accused of being a difficult input device with severe ergonomics issues. I believe a lot of this issue is with software!

The way one must laboriously push his fingers around the things seems unnatural.  The movement is similar to pushing a very heavy object. Being a touch interface, it would make way more sense if the pointer felt more like a real object. Tap to click is on the right track, but what about moving the pointer?

So I have tried fixing that!
It's actually a really simple hack, too. If you haven't guessed it, the pointer with this modification now behaves a lot like that kinetic scrolling stuff everyone loves. If the finger is lifted while moving (a flicking motion), the pointer keeps sliding, gradually slowed down by friction. This allows the user to do less dragging, and gives the interface an interesting 'floaty' feel.

Normal pointer movement still works fine since people generally stop at the end of a movement while still touching the pad, and if not are likely to click it again in a moment.

My patch is unobtrusive, mainly adding code to synaptics.c (as well as some little variables elsewhere). The heavy calculations are only carried out if PointerGlide is set to 1 (enabled). By default, PointerGlide is set to 0. synclient has also been adjusted, adding support for the new configuration variables PointerGlide, PointerGlideFriction and PointerGlideMaxSpeed.
Comment 1 Dylan McCall 2009-01-12 16:08:59 UTC
Created attachment 21907 [details] [review]
Patch for pointer glide in Synaptics touchpad driver, generated by git-diff.

Note that I have been running the driver with the applied patch for about two weeks without any trouble, but it could probably do with more testing. The version of the driver I have been running was from Debian, as well; I am submitting this somewhat blindly on the assumption that touchpad drivers don't get rebuilt very often.
Comment 2 Peter Hutterer 2009-02-01 14:51:55 UTC
See the discussion on 
http://lists.freedesktop.org/archives/xorg/2009-January/042855.html

I'm closing this as WONTFIX for now until we have some actual data on usability. Please reopen when appropriate.

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.