Synaptics: Modified Driver for Three-Finger Dragging
peter.hutterer at who-t.net
Sun Apr 12 19:00:42 PDT 2015
On Sat, Apr 11, 2015 at 11:41:32PM +0800, Chen Sui wrote:
> Hello Xorg,
> I recently got a Magic Trackpad for use with my Xubuntu laptop. I found
> the "three-finger dragging" feature is not supported, so I decided to look
> into the Synaptics Xorg driver to see if it is possible to add this
> feature :D
> (Note: "Three-finger dragging" is different from a "three-finger gesture".
> In 3-finger dragging, the pointer follows the motion of your fingers
> throughout the dragging action. In a three-finger gesture, the pointer
> stays in the same place until the gesture is completed. The "three-finger
> dragging" feature is commonly found on Macbooks which is by default turned
> off but I think it's very convenient feature. Should three-finger dragging
> be supported by the Synaptics driver on Linux, I can set SingleTapTimeout
> to 0 to get a more responsive single click tap because I don't need
> tap-and-drag anymore.)My distro is Xubuntu 14.04 and the default version
> of the driver that came with it is xf86-input-synaptics-1.7.4 .I did a
> quick skim through the source of the latest version 1.8.2, the latest as
> of today. As far as I can tell, there doesn't seem to be a great
> difference in their support for 3-finger dragging (neither explicitly says
> it supports 3-finger dragging).
> In the 1.7.4 source (synaptics.c), adding 3-finger dragging required
> adding several state transitions in the HandleTapProcessing function. That
> means the Synaptics driver has everything ready for implementing this
> feature, and it is not very difficult.
> I have posted my modified xf86-input-synaptics-1.7.4 here if anyone is
> interested in trying
> If you just want to know what the outcome is like, you may also check out
> this video:https://www.youtube.com/watch?v=4eLSEtibfyw
> The code is still a proof-of-concept now: some configurations are
> hard-coded, there may be some little bugs, and it also needs some
> polishing for easier configuration and use.
> I think this feature should work with any trackpad, not just Apple's Magic Trackpad, as long as they support 3 or more fingers simultaneously touching the trackpad.
I like it, but I don't think we should add it to synaptics. It is mostly in
maintenance mode with almost all of the effort going into libinput now.
I've filed a bug for libinput to support this, please CC yourself on that to
follow the discussion.
> I hope this may be useful for you.
> Thanks!Sui (Tommy) Chen2015-04-11
> P.S. What is the good way to make X
> of/usr/lib/xorg/modules/input/synaptics_drv.so ?
> Currently I keep a symbolic link in /usr/lib/xorg/modules/input/, but I'm wondering if there's a more elegant way.
More information about the xorg