71

I was talking to a friend who owns a Mac. He has his set up so that when he swipes three fingers across his touchpad, it moves to the workspace in that direction. Is it possible to set this up in Ubuntu?

2
  • 1
    I can't personally vouch for whether this method works, but there is a program called EasyStroke that may do what you're looking for. See here for setup instructions.
    – JamesG
    Mar 29, 2012 at 10:29
  • github.com/arunhedcet/mac-gestures
    – tkay
    Jan 18, 2016 at 14:05

7 Answers 7

30

How to change workspaces using touchpad gestures in ubuntu

Complete tutorial using touchegg, easystroke is better to be used with mouse rather than touchpad.

In case you are using unity you may experience some conflicts with build-in gestures. The tutorial I gained information from deals with this issue (please see the link below). I didn't have any build in gestures, so this how-to provides only information how to set up things.

  1. Download Touchegg:

    sudo apt install touchegg
    
  2. run it, but kill just after that, it will create a file

    ~/.config/touchegg/touchegg.conf
    
  3. open it in an editor you desire and add those three lines below into the name="All" section

    <gesture type="DRAG" fingers="3" direction="RIGHT">
       <action type="SEND_KEYS">Control+Alt+Left</action>
    </gesture>
    <gesture type="DRAG" fingers="3" direction="LEFT">
       <action type="SEND_KEYS">Control+Alt+Right</action>
    </gesture>
    
  4. Run touchegg to try it out

    touchegg &
    
  5. Edit the config file as you wish and then add touchegg to the list of startup applications

The tutorial I mentioned can be found here - there some things out of date (you don't have to compile it). Anyway thx to the creator!

8
  • Gestures are not recognized on my computer :(
    – Jonah
    Jan 16, 2014 at 3:34
  • 2
    This is not working on Ubuntu 15.04
    – Lucio
    Oct 1, 2015 at 0:17
  • 4
    Yeah, not working on my XPS13 either, running 15.04, or (today) 16.04 nightly. I wonder if there's a useful way to trouble shoot it, since the O/S does recognise 3-finger taps (mostly), but touchegg isn't interested.
    – Scaine
    Feb 24, 2016 at 18:56
  • 3
    is there a solution for Ubuntu 16.04?? Aug 31, 2016 at 12:19
  • 1
    Not working on my case, Ubuntu 16.04 is detecting two fingers scroll but not multitouch like 3 fingers. Need to install something more? Aug 9, 2018 at 13:06
26

Comfortable Swipe

Try comfortable-swipe. Provides 3-finger and 4-finger gestures for switching workspaces, plus a couple more like the window spread in mac.

This also uses xdotool, but more comfy than the laggy libinput-gestures if you ask me.

8
  • 3
    works with Ubuntu 18.04 LTS May 6, 2018 at 19:26
  • Works smoothly with Kubuntu 18.04 LTS Oct 16, 2018 at 7:47
  • 2
    For Ubuntu 18.10 you have to replace "libinput-debug-events" in src/comfortable-swipe.cpp with "libinput debug-events" three times. Than install with " bash install"
    – user685689
    Oct 21, 2018 at 22:27
  • It works on my 18.04 but takes several seconds to respond and my fans go crazy fast and noisy making it not worth it. Nothing special appears on htop during this time.
    – wranvaud
    Feb 16, 2019 at 10:14
  • 1
    Works perfectly well on XPS 9500 15" with Ubuntu 20.10 (Gnome). Didn't need to restart, just log out and in again.
    – nealio82
    Dec 9, 2020 at 10:51
16

Your touchpad (hardware) needs to support this feature and you then may need to configure your touchpad (Ubuntu automatically recognizes and enables some hardware).

One common drier is synaptic. You can enable two finger scrolling from the mouse and touchpad section in the control panel.

control panel

If you wish additional options you will need to manually edit a few configuration files and the options are hardware dependent.

There is a debugging page here:

https://wiki.ubuntu.com/DebuggingTouchpadDetection

Take a look at that page, if you can identify your hardware we can perhaps give you more specific assistance.

An example of hardware specific guides: https://wiki.ubuntu.com/Multitouch/AppleMagicTrackpad

Consider easystroke

You can also take a look at "easystroke"

http://sourceforge.net/apps/trac/easystroke/wiki

Here is a demo of easystroke in action: http://www.youtube.com/watch?v=CagAEgXAAzA

2
  • 3
    I don't see the horizontal scrolling option on Ubuntu 14.04. Does this have to do with my hardware config?
    – grant
    Jun 9, 2014 at 12:57
  • 2
    is there a solution for Ubuntu 16.04?? Aug 31, 2016 at 12:19
12

The following worked for me on Ubuntu 16.04 and a 2017 Dell XPS 13 (9360):

sudo gpasswd -a $USER input
sudo apt-get install xdotool wmctrl libinput-tools
git clone http://github.com/bulletmark/libinput-gestures
cd libinput-gestures
sudo ./libinput-gestures-setup install

Restart your computer after the above steps. My ~/.config/libinput-gestures.conf is:

gesture swipe down  xdotool key ctrl+alt+Up
gesture swipe up    xdotool key ctrl+alt+Down
gesture swipe right xdotool key ctrl+alt+Left
gesture swipe left  xdotool key ctrl+alt+Right
4
  • Thanks, Working on 17.10 on HP Envy 13 with Synaptics Touchpad
    – lswim
    Dec 10, 2017 at 23:14
  • This works perfectly, just make sure you have matching shortcuts configured in KDE as well, since xdotool just fires off key combos. Feb 6, 2018 at 19:53
  • not working on an Acer with Ubuntu 16.04 Aug 9, 2018 at 13:05
  • not working on a Huawei Matebook with Ubuntu 20.04 Jun 26, 2021 at 13:45
1

This was my solution: 4 fingers and natural direction.

 <gesture type="DRAG" fingers="4" direction="RIGHT">
       <action type="SEND_KEYS">Control+Alt+Right</action>
    </gesture>
    <gesture type="DRAG" fingers="4" direction="LEFT">
       <action type="SEND_KEYS">Control+Alt+Left</action>
    </gesture>
3
  • 2
    What program does one need for this?
    – JordyvD
    Jun 2, 2016 at 15:21
  • @g3mini touchegg, as tsusanka suggested Oct 21, 2016 at 20:47
  • Thanks =) When I asked his/her answer wasn't there yet =D
    – JordyvD
    Oct 22, 2016 at 19:47
1

I used the synaptics driver with xdotool to do that...

For speed of my macbook touchpad:

sudo nano /usr/share/X11/xorg.conf.d/70-synaptics.conf
# Touchpad Speedup
        Option "AccelFactor" "0.025"
        Option "MinSpeed" "0.80"
        Option "MaxSpeed" "0.95"
        Option "FingerHigh" "55"
        Option "FingerLow" "45"

For 3 fingers gesture change workspace:

sudo nano ~/.config/libinput-gestures.conf
gesture swipe up        3       xdotool key ctrl+alt+Up
gesture swipe down      3       xdotool key ctrl+alt+Down
gesture swipe left      3       xdotool key ctrl+alt+Left
gesture swipe right     3       xdotool key ctrl+alt+Right
0

Like already mentioned:

sudo gpasswd -a $USER input
sudo apt-get install xdotool wmctrl libinput-tools
git clone http://github.com/bulletmark/libinput-gestures
cd libinput-gestures
sudo ./libinput-gestures-setup install

But you have to go to:

cd ~/libinput-gestures

and edit the created libinput-gestures.conf:

gedit libinput-gestures.conf

And then make safe the following is set correctly:

gesture swipe down  xdotool key ctrl+alt+Up
gesture swipe up    xdotool key ctrl+alt+Down
gesture swipe right xdotool key ctrl+alt+Left
gesture swipe left  xdotool key ctrl+alt+Right

Remember: You have to set the key combinations in the Ubuntu settings to the ones shown above - these should be the default.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .