This post is based on my Dell M3800 with Linux Neon.
KDE already does a good job with touchpad gestures (e.g., two fingers for scrolling, 3 finger tap for pasting, etc.) but it does not support 3 finger swype gestures like in MacOs, e.g., for displaying all the windows or for showing the desktop.
Today I tried this utility, Libinput-gestures, which works like magic! The utility comes with good default for typical gestures (including pinch) but I configured that to fit my needs (in particular, I wanted to mimic MacOs behavior for 3 finger swypes: up = display all windows, down = display all windows of the same class and for pinch out = show desktop.
The installation of Linput-gestures is really easy (just follow the instructions at its web page).
Remember that, first of all, your user must be in the input group, so first run
|
1 |
sudo gpasswd -a $USER input |
Then logout from your current session, and login again.
Then, in Ubuntu, it’s just a matter of running
|
1 |
sudo apt-get install xdotool wmctrl libinput-tools |
and install the software like this (you need git):
|
1 2 3 |
git clone http://github.com/bulletmark/libinput-gestures cd libinput-gestures sudo ./libinput-gestures-setup install |
You can already start the program like this
|
1 |
libinput-gestures-setup start |
and if you want it to be started at login time, then run
|
1 |
libinput-gestures-setup autostart |
The default gestures are in /etc/libinput-gestures.conf. If you want to create your own custom gestures then copy that file to ~/.config/libinput-gestures.conf and edit it.
These are the lines I changed in my configuration (remember that each time you modify the configuration you need to restart libinput-gestures, i.e., instead of start in the command line above, just use restart):
|
1 2 3 4 5 6 7 8 |
# KDE: Present Windows (current desktop) gesture swipe up xdotool key ctrl+F9 # KDE: Present Windows (Window class) gesture swipe down xdotool key ctrl+F7 # KDE: Show desktop gesture pinch out xdotool key ctrl+F12 |
You only need to know the keyboard shortcuts of the actions you want to associate to mouse gestures. With that respect, you might want to have a look at the current shortcuts in KDE Settings (the interesting components are “KWin” and “Plasma”):
This is a video demoing the gestures:
Happy gestures! 🙂


I prefer having these actions executed when the mouse enters a screen corner. This is also possible to configure in KDE at desktop behaviour > active screen borders 😉
That’s what I’ve been using for a long time as well… but in the long run, I found screen borders quite annoying: it’s really easy to end up there by mistake… that’s why I came to prefer touchpad gestures 🙂
Thank you for the helpful post! — I am disappointed to find that the various gesture recognition layers (touchegg, libinput-gestures) only do “one-shot” gestures, so if I pinch in or out, it only sends a single event, which is useless e.g. for zooming in and out in GIMP by pinching. Are you aware of any way to do that?
Touchegg recognizes that the pinch is ongoing, and sees many events itself (judging by its stdout), but only sends one final action to the window (and is buggy at that: in and out map to the same resultant action, etc). libinput-gestures doesn’t seem to pay attention to the pinch as it is happening, and just sends the final xdotool event.
I’m glad you enjoyed the post 🙂
That’s only my first experience with touchpad gestures so I haven’t tried any other solution. Have you tried asking libinput-gestures developers about that? I’ve also heard that wayland should bring some further support for gestures…
Thanks for the reply — I’ll check with the libinput folks.
Heard from the libinput folks — it’s not possible currently, and we’ll just have to wait for implementation by the desktop environment and/or GIMP. Oh well. 🙂