Touchpad gestures in Linux KDE with Libinput-gestures

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

Then logout from your current session, and login again.

Then, in Ubuntu, it’s just a matter of running

and install the software like this (you need git):

You can already start the program like this

and if you want it to be started at login time, then run

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):

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! 🙂

17 thoughts on “Touchpad gestures in Linux KDE with Libinput-gestures

  1. Axel

    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 😉

    Reply
    1. Lorenzo Bettini Post author

      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 🙂

      Reply
  2. Casey

    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.

    Reply
    1. Lorenzo Bettini Post author

      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…

      Reply
        1. Casey

          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. 🙂

          Reply
  3. Alex4

    Thanks for the post, it was very useful! I am using Manjaro and I am trying to set up your same config but with 3 fingers swipe.
    It does not work for me because after:
    $ libinput-gestures-setup start
    libinput-gestures started.

    I still get
    $ libinput-gestures-setup status
    libinput-gestures is installed.
    libinput-gestures is set to autostart.
    libinput-gestures is not running.
    libinput-gestures is using default configuration.

    and I cannot find anything in journalctl and i cannot find any log

    Reply
    1. Lorenzo Bettini Post author

      mh… I haven’t tried this configuration for some time now… I’ll do that in the near future after bionic is released… in the meantime, you may want to check the official site for troubleshooting… please keep me posted

      Reply
  4. Pingback: Touchpad-Gesten per GUI einrichten | linuxnews.de linuxnews.de

  5. Daniel Maia

    I have been trying to do this on Linux Mint Cinnamon. However, I cant see how to use the Present Windows (Window class) function. Do you know how I can?

    Reply
    1. Lorenzo Bettini Post author

      By the way, I guess it all depends on whether Cinnamon itself provides such a functionality “Present Windows (Window class)”: you can only map a gesture to something provided by your window manager.

      Reply
  6. Andrew Yu

    How could I use the home key or end key in the config file?

    It says whenever I use that gesture:

    (symbol) No such key name ‘home’. Ignoring it.
    (symbol) No such key name ‘home’. Ignoring it.

    Reply
    1. Lorenzo Bettini Post author

      Hi, I’m afraid I don’t know… I guess you have to look for the right code for those keys

      Reply
  7. Pingback: Libinput-gestures: Actions gestures on your touchpad using libinput - My Blog

    1. Lorenzo Bettini Post author

      As It is standard: remove the configuration file and uninstall the programs

      Reply

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.