You are not logged in.

#1 2015-10-22 13:32:42

epinephrine
Member
From: Frankfurt
Registered: 2012-10-18
Posts: 92

Current status of multitouch (gesture) support - Gnome and beyond

Hey multitouch enthusiasts,

I would like to discuss the current status of multitouch (gesture) support in Gnome and other desktop environments. The reason being that I am confused as to what is working and what is under current development. The multitouchpad that I currently use is that of my Dell XPS 13 (9343/2015) ultrabook. It comes with a two-area clickpad at the bottom.

In the following I want to give a humble account of what I (think I) found out.

Out of the box

The touchpad works out of the box with both, the xf86-input-synaptics and xf86-input-libinput input drivers. Without any custom configuration inside /etc/X11/xorg.conf.d/, the following works for both drivers:

  1. Tap'n'drag: I can select and move object in e.g. the file browser by tap and drag movements.

  2. Two-finger scrolling (horizontally and vertically): Scroll window up/down. Horizontal scrolling also works where applicable.

  3. Two-finger tap: Secondary click.

  4. Three-finger tap: Middle click.

  5. Clickpad: Left and right areas are correctly recognized as left and right click.

Xorg configuration

I also understand that I can enable a few more features with both drivers via configuration in /etc/X11/xorg.conf.d/. E.g. palm detection, circular scrolling and acceleration could be enabled. The Arch wiki gives information for the synaptics input driver. Similar features, though not all, can be achieved with the newer libinput input driver.

xf86-input-mtrack

There is a third input driver which I haven't tried out yet. Two package (release and git based) can also be found in the aur: xf86-input-mtrack. The mentioned upstream url points to BlueDragonX/xf86-input-mtrack on github. However, it seems that BlueDragonX has abandoned working on this driver. Apparently p2rkw0 has picked up development.

Has anyone made some experiences with this driver? It implements some features not implemented by synaptics/libinput like thumb detection, four-finger tapping, three and four-finger swipes in all four directions and two-finger pinching and rotation.

Gesture interpretation layer

So far so good for the input driver layer. Here an architectural break comes to light. While the input driver implements the interpretation of some gestures into abstract commands, many other gestures go uninterpreted. Over the last years, it seems that various gesture interpretation clients have been developed or were incorporated into desktop environments like Gnome or Unity on Ubuntu.
Here's my humble list of gesture interpreters working on top of the input driver layer:

  • xSwipe: Works on top of synaptics, and is under active development (last commit 2 months ago). It seems to have issues with the newer synaptics driver as the readme states that Ubuntu >=14.04 users should downgrade their synaptics driver. It seems to be caused by the removal of SHMConfig from newer synaptics drivers. There's an aur package for a patched synaptics driver that points to a github fork of the official synaptics driver, which apparently puts back in the missing SHMConfig functionality. Using this, you depend on someone keeping up-to-date with the upstream synaptics driver...
    The following additional gestures would be available:

    • 3/4/5 fingers swipe

    • 2/3/4/5 fingers long-press

    • 2/3/4 fingers edge-swipe (with some limitations)

  • Touchegg: It even has an Arch wiki page! However, the last commit to the source code was in December '13, see github or google code. So I assume the project to be inactive. Would you still recommend this solution?
    Touchegg is based on Geis, wich in turn uses Grail, see Ubuntu's multitouch launchpad site. It supports most imaginable gestures, see this wiki entry.

  • Unity multitouch support: Unity apparently implements some gesture interpretation on top of the synaptics driver, also using Geis and Grail. Some very cool three-finger gestures and two four-finger gestures are implemented, see link to the Ubuntu multitouch wiki.
    Can anyone tell me how exactly multitouch is realized in Unity? Can it easily be copied to Gnome on Arch?

  • Ginn is also mentioned on the Ubuntu multitouch site as a tool that brings multitouch gestures to legacy applications. It also leverages Geis.
    Any experiences? Is it well functional in Gnome?

  • Gnome touchscreen (=multitouch?) support: In Gnome 3.14, touchscreen gesture support was added with some cool gestures being interpreted. However, it seems this hasn't found its way to multitouchpads yet, at least not here for my system running Gnome 3.18. There's a topic from January 2015 talking about this. The last of three posts also mentions an interesting article which is concerned with the new touchscreen capabilities.
    Did I miss something? Should Gnome support my touchpad with cool three-finger gestures already?

  • Did I miss any other gesture interpreter worth mentioning?

Other forum threads of interest

So, in your opinion, what is the best and modern approach to multitouch voodoo today for Gnome on Arch Linux? I am looking forward to your input!

Cheers, Sebastian

Last edited by epinephrine (2015-10-25 09:04:19)

Offline

#2 2015-10-22 17:22:26

DoubleX667
Member
Registered: 2011-09-08
Posts: 15

Re: Current status of multitouch (gesture) support - Gnome and beyond

Very interesstin topic!

I have an Asus UX32VD and I tried all of this solutions.

I never found out how the Unity gestures realy work...but they do...also on my Asus   ;-)

In my opinion xSwipe works best.
So it's my all day configuration on Arch/Gnome with some 3 and 4 finger swipes.

Long-Press is not working...but I'm not sure I it's correctly configured.

Offline

#3 2015-10-22 22:47:26

bulletmark
Member
From: Brisbane, Australia
Registered: 2013-10-22
Posts: 653

Re: Current status of multitouch (gesture) support - Gnome and beyond

I am using libinput under xorg with GNOME and no custom configuration (also on a 2015 Dell XPS 13 like the OP). Until GNOME get their gesture support act together, I have created my own crude solution at https://github.com/bulletmark/libinput-gestures.

Offline

#4 2015-10-25 08:57:45

epinephrine
Member
From: Frankfurt
Registered: 2012-10-18
Posts: 92

Re: Current status of multitouch (gesture) support - Gnome and beyond

Almost at the same time that I started this thread, another Archer opened a similar thread specifically concerning Gnome multitouch support with synaptics. In there, a user reported mutlitouch support working out of the box with three and four fingers in both, X and Wayland, using the libinput drivers. This is unfortunately not the case for me...

Offline

#5 2015-10-25 09:09:31

epinephrine
Member
From: Frankfurt
Registered: 2012-10-18
Posts: 92

Re: Current status of multitouch (gesture) support - Gnome and beyond

Also, is there some kind of a diagnostics tool that shows which gestures are emitted by the input driver? That would be very helpful to debug whether the input driver is not sending the swipes/rotations/pinches or it is only the DE/interpretation client not interpreting those gestures.

Offline

#6 2015-10-28 04:38:50

bandango
Member
Registered: 2015-10-20
Posts: 6

Re: Current status of multitouch (gesture) support - Gnome and beyond

libinput-debug-events

Offline

#7 2015-10-28 14:31:42

vladimiroltean
Member
Registered: 2015-10-27
Posts: 3

Re: Current status of multitouch (gesture) support - Gnome and beyond

I have used Touchegg along with GNOME 3.18, and I would describe it as a great piece of software in itself, although incompatible with GNOME. It had to be started before GNOME shell (like starting it inside ~/.xprofile) and it would then block GNOME's own gestures and top panel menu clicking. That was the real show stopper for me, but otherwise, basic features such as 2-3-4 finger swipes worked just fine (no pinching). Haven't tested it in any other DE.
Forgot to mention: I'm talking about touch screen support. I could only get multi touch for trackpad using xSwipe.

Last edited by vladimiroltean (2015-10-28 14:33:56)

Offline

Board footer

Powered by FluxBB