Touchpad Gestures in Ubuntu 18.04 LTS
Out of the box, I get gestures for scrolling and right clicking. I'm very interested in three finger gestures (like slide three fingers up to see all open windows), but it seems there is no way to get those working.
I have tried with the Extended Gestures GNOME-shell extension and touchegg, neither of which are working.
Any ideas on how to get these?
Solution 1:
Fusuma
I am using XPS 15 with Ubuntu 18.04 (X.org). I have managed to get multi-gestures working for me. Kohei Yamada has developed an application called Fusuma to enable multi-touch gestures on Linux. It requires you to install Ruby on your machine if it isn't already installed.
Follow the instructions from fusuma GitHub's Readme page or you could follow these steps which worked for me:
First of all check if your current user is part of the input group. You can do that by
groups $USER | grep -w input # To check
sudo gpasswd -a $USER input # To add
Then log out and log back in. Now install xdotool and libinput-tools.
sudo apt install libinput-tools
sudo apt install xdotool
If you haven't installed Ruby you can do that now:
sudo apt install ruby
Now install fusuma
sudo gem install fusuma
Deciding your gestures
This is basically creating a .yml
file with the desired configuration. If you want standard gestures you can follow these instructions or feel free to tweak around to get desired gestures.
Go to your config folder in home directory.
cd ~/.config
Now create a folder named fusuma
mkdir fusuma
cd fusuma
In there create a file called config.yml
touch config.yml
Now you can use your favourite text editor to enter the contents in this file.
nano config.yml
Copy and paste the following instructions if you are using GNOME, which is the default environment in 18.04.
swipe:
3:
left:
command: 'xdotool key alt+Right'
right:
command: 'xdotool key alt+Left'
up:
command: 'xdotool key super'
down:
command: 'xdotool key super'
4:
left:
command: 'xdotool key ctrl+alt+Down'
right:
command: 'xdotool key ctrl+alt+Up'
up:
command: 'xdotool key ctrl+alt+Down'
down:
command: 'xdotool key ctrl+alt+Up'
pinch:
in:
command: 'xdotool key ctrl+plus'
out:
command: 'xdotool key ctrl+minus'
threshold:
swipe: 0.4
pinch: 0.4
interval:
swipe: 0.8
pinch: 0.1
Note that the gestures that this configuration has created for you are the following:
Mult-touch Gesture → Action
3 Fingers - Left → Go Next on Browser
3 Fingers - Right → Go Back on Browser
3 Fingers - Up → Show all Windows
3 Fingers - Down → Close Exposé (Esc
4 Fingers - Left → Next Deskto
4 Fingers - Right → Previous Desktop
4 Fingers - Up → Next Desktop
4 Fingers - Down → Previous Deskto
After this you can run the command in terminal to test if it has installed
sudo fusuma
nothing will happen in the terminal. Just start using your multi-touch gestures - swipe away on your touchpad.
Now all you have to do is add Fusuma and the command for it in your start-up applications.
Solution 2:
Ubuntu 18.04 uses X.Org as the default display server instead of Wayland. The mentioned Extended Gestures extension currently works only with Wayland.
What you need to do is choose Wayland while logging in after a restart. This link shows the same procedure but the other way around (from Wayland to X.Org).