Work

Enable (Some) Multi-Touch Gestures In Linux

Most of the multi-touch gestures available to iPhone and Apple laptop owners don’t require anything special, hardware-wise—except a patent licence from Apple. Linux users, however, can get some of that multi-finger goodness in three quick steps.

The Ubuntu Snippets blog posts a configuration file, along with the copy-and-paste terminal commands needed to install and activate it, that give Linux users a rough approximation of some pretty great multi-touch features: two-finger vertical and horizontal scrolling, two- and three-finger tapping for middle- and right-clicks, respectively. As the author notes, three-finger tapping for a right-click is kind of hit-and-miss, and many users may not want any kind of tap-to-click powers at all. Luckily, it’s easy to remove the last line or two from the config file posted to disable it—or, in systems like Ubuntu, simply disable tap-to-click from the Mouse configuration.

The file and steps were written for a system running Ubuntu 8.10 with a standard Synaptics touchpad, but would likely work for other modern Linux distributions. If you’re not seeing any action, check to see where your hal systems keep their home in your distribution. Photo by franchesca_rauchi.

Multi touch for any,all synaptics touchpad [ubuntu snippets]

Comments (AU Comments | US Comments)

  • ElmerMyrrha

    @snowmoon: Yep. I've got a old, old laptop that runs windows 98 that had the two finger double click and three finger right click.

    ElmerMyrrha

  • ian320

    @PhoebeJibran: Thank you! This is one of the best downloads I've come across in a long time. Simple, portable, does its job well.

    ian320

  • toaste

    @Yab: The guide doesn't say it, but you need to restart X after you restart hald or just reboot for this to take effect.

    Any normal touchpad hardware should work, but the Synaptics driver must be 0.15.0 or newer (check in Synaptic or run as normal user in terminal: apt-cache show xserver-xorg-input-synaptics | grep Version)

    Config changes can be made instantly and temporarily with synclient after the SHMConfig=On option is enabled. You can use that to test different thresholds for two finger emulation.

    toaste

  • toaste

    @[lists.freedesktop.org]

    Also, many recent Synaptics touchpads support multitouch in hardware (even if the Windows driver doesn't). It's typically ALPS touchpads (which still use the xf86-input-Synaptics driver in Linux) that need this hack since afaik none of them support hardware multitouch.

    toaste

  • Yab

    Not working on my synaptic touchpad... My hardware must bet too old.

  • christophski

    @christophski: Just read some posts down further and I think the problem is two fingers just doesn't register enough area on this touchpad, if you use the bottom of your palm it seems to work :/

  • ean5533

    @ean5533: Woah! Scratch that, it's working. It turns out that it's just not very sensitive -- I have to have my two fingers pretty far apart before it recognizes that it's two fingers. If they're close together, it just thinks I have one giant finger.

    Try it again, christophski, with your two fingers farther apart. Might work.

    ean5533

  • christophski

    @ean5533: I purchased my about 8 months ago. a HP 530. I would have thought it was recent enough to work :s

  • ean5533

    @christophski: Isn't working for me either. Like you, Hardinfo reports that I have a SynPS/2 Synaptics TouchPad.

    This is on an HP laptop purchased ~15 months ago. Is this touchpad just not supported?

    ean5533

  • UrsulaAsterius

    I don't like how the title is 'enable multitouch in linux' it should be enable multitouch in UBUNTU not everyone uses ubuntu, and using ubuntu as a synonym for linux is just wrong

    UrsulaAsterius

  • John David

    This is working already on my laptop and I didn't even know it. Thanks for the heads-up.

  • kd420

    @AquaFire: Really, the only difference seems to be that one is a screen and one is a touchpad. What new industry standards are you talking about, i.e. what exactly can you do that can't be accomplished with a touchpad? Obviously it is not a screen, but I don't think anyone is confusing the two.

    kd420

  • bjohnson1417

    @PhoebeJibran:

    Awesome tip. Just ran Two-Finger-Scroll and it works great. Been looking for something like this forever. Thanks Phoebe.

    bjohnson1417

  • toaste

    EmulateTwoFingerMinZ does just what you'd guess: emulates two finger gestures for touchpads that don't support it based on the reported "pressure." All touchpads report a "pressure" based on how much area is contacted. Put two fingers down, and the pressure goes up significantly higher. Plop down your palm and the pressure shoots through the roof. This is also how the "palm check" feature works.

    You can watch the reported pressure by running synclient in the terminal. If you enable SHMConfig=On, this program can also change options on the fly if you want to test drive different options or thresholds before setting them more permanently in the config file.

    toaste

  • wongtam

    @snowmoon: Bear with my ignorance, can anyone explain to me how this is different to the multitouch on newer Apple products? Thanks

    wongtam

  • trethlyn

    I've been using this for a couple of days.....and I never want to go back to my old touchpad usage.

    trethlyn

  • MansBigBrother

    @MansBigBrother: That didn't go so well. The file system in presto is WAY too locked down as it is... anybody out there have an idea?

  • motang

    Awesome! Going to try it now.

    motang

  • DanteBehemoth

    it is ridicules that they can patent a touch, motion, pretty soon some one will patent breathing.....

    DanteBehemoth

  • PhoebeJibran

    On Windows, I use Two-Finger-Scroll (link: http://code.google.com/p/two-finger-scroll/), wich gives me 1, 2 and 3 finger tap, plus vertical scrolling. It made my day when I discovered it! May it be useful to you, as well.

    PhoebeJibran

  • BrianB

    Cool, I meant to do some looking into how to get the multi-touch working with my synaptics touchpad, but kept forgetting since I use a regular mouse most of the time. I have the scrolling working though, by enabling it in xorg.conf and installing the synaptics software.

    BrianB

  • mcnuggetofdeath

    @christophski: What year is that hardware from? As far as i know these features were a fairly recent occurence. Probably simply not supported.

  • Ritesh Sinha

    This works without any customization on Kubuntu Jaunty. Single finger tap -> Left Click. Two fingers -> Middle click. Three fingers -> Right. :)

    Ritesh Sinha

  • mcnuggetofdeath

    As Snowmoon said, these features have been standard on ubuntu for awhile now. I can personally attest they work fine on both Ubuntu 8.10 and the beat for 9.04. Whatsmore I think their features found in the generic kernel that automatically detected and enabled said features on my Eee PC 900a. While the features are useful, i wouldnt call them multitouch.

  • christophski

    Doesn't seem to work on my box :/ Hardinfo tells me I have a SynPS/2 Synaptics TouchPad. any know what the problem is?

  • MansBigBrother

    This could be lovely with my Presto install... Hmmmm... must try.

  • AquaFire

    Please spare me of "this" multi-touch being compared to the newer industry standard multi point touch systems and/or mobile phones.

    That is a mousepad multi-touch which the later is a screen multitouch....180 degrees apart.

  • snowmoon

    Note, these functions have been supported for a while under linux on touchpads that can sense the # of fingers. This is NOT "multitouch" as found on all newer Apple products.

  • GroverHalona

    eeepc 901 with jaunty 9.04 and these gestures work out of the box. no config file needed.

    GroverHalona

  • afolex

    @PhoebeJibran: I love you!

  • onderzcn

    works for eeePc 900 too

    onderzcn

  • snowmoon

    @wongtam: Apple's touchpads are "multi-point" so they can track two fingers at at time. This allows for pinch and grow as well as rotation commands. Most synaptics trckpads can sense how many fingers you are using and the average of their location but can't track individual fingers.

    So this is why you can take advantage of two finger scrolling as well as two and three finger tapping since it cares that you are using multiple fingers and not where they individually are located. Linux has been able to do this for a while, I remember seeing these options several years ago under Fedora IIRC.

  • Atamagaii

    @DanteBehemoth: Well, Cadbury has trademarked the specific colour purple they use...

    Atamagaii

  • Ryan Watson

    Try this instead:

    [sourceforge.net]

    Easy install and works with my Fedora 10

    Ryan Watson

Post Your Comments

Got something to say? There are two ways to comment:

1. Guests

Click here to comment instantly.

2. Facebook Users

Click below to comment using your Facebook account.

We're looking for comments that are interesting, substantial or highly amusing. If your comments are excessively self-promotional, obnoxious, or even worse, boring, you will be banned from commenting. All comments are moderated.