Touchpad gestures streamline navigation and multitasking by allowing users to switch workspaces, manage windows, and perform actions with simple swipes or pinches. Linux Mint users can implement advanced touchpad gestures using two main tools: Gestures (built on libinput-gestures) and Fusuma. Both methods provide customizable gesture controls, but their setup processes and flexibility differ. Below, you’ll find clear instructions for each approach, starting with the most robust and customizable method.
Configure Touchpad Gestures with Fusuma
Fusuma is a gesture recognition tool that works with the libinput
driver. It supports a wide range of gestures—swipes, pinches, and rotations—and allows mapping of these gestures to custom commands or keyboard shortcuts. Fusuma’s configuration file uses YAML, making it easy to define and refine gesture actions.
Step 1: Ensure your user is in the input
group to allow Fusuma to read touchpad events. This is required for gesture detection.
sudo gpasswd -a $USER input
newgrp input
This command grants your user the necessary permissions. The newgrp input
command applies the group change immediately.
Step 2: Install required dependencies for Fusuma on Linux Mint. These include libinput-tools
, ruby
, and optionally xdotool
for sending keyboard shortcuts.
sudo apt-get update
sudo apt-get install libinput-tools ruby xdotool
These packages provide the gesture detection backend and allow Fusuma to trigger actions.
Step 3: Install Fusuma using RubyGems. This step downloads and installs the Fusuma tool.
sudo gem install fusuma
Step 4: Create the Fusuma configuration directory and file. This is where you’ll define your gesture mappings.
mkdir -p ~/.config/fusuma
nano ~/.config/fusuma/config.yml
If you’re new to nano
, use Ctrl+O
to save and Ctrl+X
to exit.
Step 5: Define gesture mappings in config.yml
. Below is a sample configuration for common gestures:
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 keydown ctrl click 4 keyup ctrl"
out:
command: "xdotool keydown ctrl click 5 keyup ctrl"
This configuration assigns workspace navigation and zooming to three- and four-finger gestures. You can customize commands to fit your workflow.
Step 6: Start Fusuma to activate gesture recognition.
fusuma -d
The -d
flag runs Fusuma as a background process. For automatic startup, add Fusuma to your session’s autostart using gnome-session-properties
or by creating a fusuma.desktop
file in ~/.config/autostart/
.
Step 7: Fine-tune gesture sensitivity and timing by adjusting threshold
and interval
values in your config file. For example:
threshold:
swipe: 0.7
interval:
swipe: 0.5
Lower values make gestures trigger with shorter movements or less delay.
Step 8: Restart your session or reboot to ensure all permissions and autostart settings are applied. Test gestures to confirm they work as expected. If issues arise, run fusuma -v
for verbose output and troubleshooting.
Fusuma supports plugins for advanced features such as app-specific gestures and improved key emulation. Install plugins using:
sudo gem install fusuma-plugin-sendkey
Refer to the Fusuma documentation for more plugin options and configuration examples.
Set Up Touchpad Gestures with Gestures (libinput-gestures)
Gestures is a graphical front-end for libinput-gestures
, making it easier to configure gestures without editing configuration files by hand. This method is popular for its simplicity and works well for most users seeking basic gesture support.
Step 1: Add your user to the input
group to grant permission for gesture detection.
sudo gpasswd -a $USER input
sudo apt install libinput-tools xdotool python3 python3-setuptools python3-gi python-gobject
Reboot your computer after running these commands to apply group changes.
Step 2: Download and install libinput-gestures
from its GitHub repository.
git clone https://github.com/bulletmark/libinput-gestures.git
cd libinput-gestures
sudo make install
sudo ./libinput-gestures-setup install
This installs the backend that detects and interprets touchpad gestures.
Step 3: Set up autostart for libinput-gestures
so it runs when you log in.
libinput-gestures-setup autostart
libinput-gestures-setup start
These commands register and launch the gesture daemon automatically each session.
Step 4: Install the Gestures GUI for easier configuration. This step simplifies gesture customization through a graphical interface.
git clone https://gitlab.com/cunidev/gestures
cd gestures
meson build --prefix=/usr
ninja -C build
sudo ninja -C build install
Alternatively, you may find the Gestures app in the Linux Mint Software Manager or via Flatpak. Launch the app to start assigning gestures to actions.
Step 5: Import or create a gesture configuration. You can download pre-made configuration files or define your own gesture-to-action mappings within the Gestures app.
Step 6: Test your gestures. If a gesture does not work, double-check that libinput-gestures
is running and that your user is in the input
group. Some gestures may require specific touchpad hardware or driver support.
For advanced users, editing ~/.config/libinput-gestures.conf
directly allows for fine-tuned gesture mapping, including multi-finger swipes and custom commands. Refer to community examples for inspiration.
Alternative: Touchegg and Touché GUI
Recent versions of Linux Mint include touchegg
as a backend for gesture recognition. For a user-friendly experience, install the Touché GUI via Flatpak:
flatpak install flathub com.github.joseexposito.touche -y
Touché provides a graphical interface to assign gestures to actions and supports two- to five-finger gestures in multiple directions. Touchégg integration is reported to work well on Linux Mint Cinnamon 21.3 and newer. Some users may need to enable experimental Wayland support at the login screen to access all gesture features.
Configuring touchpad gestures in Linux Mint with Fusuma, Gestures, or Touchegg significantly improves navigation speed and workflow efficiency. Regularly update your gesture tool of choice and back up your configuration files for a smooth experience as Linux Mint evolves.
Member discussion