Touchpad issues on Linux range from non-functional tap-to-click to missing right-click zones and broken gestures. Whether you run Ubuntu 24.04, Fedora, or Debian 13, the troubleshooting path is largely the same – identify your input driver, configure it properly, and verify the result. This guide walks through the entire process from diagnosis to working multi-finger gestures.
Understanding libinput vs Synaptics
Modern Linux distributions ship with libinput as the default touchpad driver. The older synaptics driver (xf86-input-synaptics) is deprecated and no longer maintained in most distributions. If you are still running synaptics, switching to libinput resolves many issues on its own.
Check which driver handles your touchpad:
grep -i "Using input driver" /var/log/Xorg.0.logOn Wayland sessions (the default on GNOME in Ubuntu 24.04 and Fedora), libinput is always used and Xorg driver selection does not apply. You can confirm your session type with:
echo $XDG_SESSION_TYPEList Input Devices with xinput
On X11 sessions, xinput is the go-to tool for inspecting and configuring input devices. List all recognized devices:
xinput listLook for your touchpad in the output – it typically appears as something like “SynPS/2 Synaptics TouchPad” or “ELAN Touchpad”. Note the device ID number. Then inspect its properties:
xinput list-props For Wayland sessions, use libinput directly:
sudo libinput list-devicesVerify the touchpad is detected and note the “Capabilities” line – it tells you what features the hardware supports (tap, gestures, etc.).
Configure Tap-to-Click
Tap-to-click is disabled by default on some distributions. Enable it temporarily with xinput (X11 only):
xinput set-prop "libinput Tapping Enabled" 1 Verify the change took effect:
xinput list-props | grep "Tapping Enabled" You should see the value set to 1. Test by tapping the touchpad – it should register as a left click.
Enable Right-Click (Two-Finger Tap or Corner Tap)
libinput supports two right-click methods. Two-finger tap is the default when tapping is enabled – tap with two fingers to trigger a right-click. Bottom-right corner click is the alternative.
Switch between methods using the “Tapping Button Map” property. For two-finger right-click (LRM mapping):
xinput set-prop "libinput Tapping Button Mapping Enabled" 1 0 For corner-based click areas instead of finger counting:
xinput set-prop "libinput Click Method Enabled" 0 1 Verify by right-clicking in a file manager and confirming the context menu appears.
Enable Natural Scrolling
Natural scrolling (content follows finger direction, like a phone) can be enabled with:
xinput set-prop "libinput Natural Scrolling Enabled" 1 Confirm the setting:
xinput list-props | grep "Natural Scrolling" Make Settings Persistent with Xorg.conf.d
xinput changes do not survive a reboot. For persistent X11 configuration, create a file in /etc/X11/xorg.conf.d/:
sudo nano /etc/X11/xorg.conf.d/40-libinput.confAdd the following content:
Section "InputClass"
Identifier "touchpad configuration"
MatchIsTouchpad "on"
MatchDriver "libinput"
Option "Tapping" "on"
Option "TappingButtonMap" "lrm"
Option "NaturalScrolling" "true"
Option "ClickMethod" "clickfinger"
Option "ScrollMethod" "twofinger"
Option "DisableWhileTyping" "true"
EndSectionSave the file and restart your display manager or reboot. Verify with xinput list-props that the settings loaded correctly.
GNOME and KDE Touchpad Settings
Both major desktop environments provide GUI touchpad configuration that persists across reboots.
GNOME (Ubuntu 24.04, Fedora Workstation): Open Settings, navigate to “Mouse & Touchpad”. Here you can toggle tap-to-click, natural scrolling, and touchpad speed. On Wayland sessions, this is the recommended configuration method.
You can also set these via the command line with gsettings:
gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true
gsettings set org.gnome.desktop.peripherals.touchpad natural-scroll true
gsettings set org.gnome.desktop.peripherals.touchpad two-finger-scrolling-enabled trueVerify the settings applied:
gsettings get org.gnome.desktop.peripherals.touchpad tap-to-clickKDE Plasma: Open System Settings, go to “Input Devices” then “Touchpad”. The KDE settings panel provides granular control over pointer acceleration, scrolling speed, and click behavior.
Gesture Support with touchegg and libinput-gestures
Multi-finger gestures (three-finger swipe to switch workspaces, pinch-to-zoom) require additional software on most setups.
GNOME 40+ (Ubuntu 24.04, Fedora): Three-finger swipe gestures for workspace switching work out of the box on Wayland. No extra software needed.
touchegg adds gesture support on X11 and extends what GNOME provides. Install it on Ubuntu 24.04:
sudo add-apt-repository ppa:touchegg/stable
sudo apt update
sudo apt install toucheggStart and enable the service:
sudo systemctl enable --now toucheggPair it with the GNOME extension “X11 Gestures” for full integration. Verify gestures work by swiping three fingers up – it should trigger the Activities overview.
libinput-gestures is an alternative that maps gestures to arbitrary commands. Install it on Debian 13 or Fedora:
sudo apt install libinput-gestures # Debian
sudo dnf install libinput-gestures # FedoraAdd your user to the input group:
sudo usermod -aG input $USERLog out and back in, then configure gestures in ~/.config/libinput-gestures.conf:
gesture swipe up 3 xdotool key super
gesture swipe down 3 xdotool key super
gesture swipe left 3 xdotool key ctrl+alt+Right
gesture swipe right 3 xdotool key ctrl+alt+Left
gesture pinch in 2 xdotool key ctrl+minus
gesture pinch out 2 xdotool key ctrl+plusStart the gesture daemon:
libinput-gestures-setup start
libinput-gestures-setup autostartTest by performing a three-finger swipe – it should trigger the mapped action.
Troubleshooting Tips
If your touchpad is not detected at all, check the kernel sees the hardware:
sudo dmesg | grep -i touchpad
sudo libinput debug-eventsThe debug-events command shows real-time input events. Move your finger on the touchpad – if nothing appears, the issue is at the kernel driver level and you may need a newer kernel or firmware package.
For laptops where the touchpad stops responding after suspend/resume, reloading the input module often helps:
sudo modprobe -r psmouse && sudo modprobe psmouseVerify it comes back by checking xinput list again.
Wrapping Up
Linux touchpad support has improved significantly with libinput becoming the standard. Between the desktop environment settings, xorg.conf.d snippets, and gesture daemons, you can get full touchpad functionality on Ubuntu 24.04, Fedora, and Debian 13. Start with the GUI settings for basic configuration, use xorg.conf.d for X11 persistence, and add touchegg or libinput-gestures when you need multi-finger gesture support.




















































