Using Multi-Touch Gestures with Touchpad Drivers on elementary OS
A modern touchpad can make elementary OS feel quick and natural, but gesture support depends on several layers working together. The hardware must be detected correctly, the Linux input stack must recognise fingers and movement, and the desktop session must know what to do with those gestures.
For most recent laptops, the key component is libinput. It replaces older, less consistent touchpad drivers and handles scrolling, tapping, button areas, palm detection and multi-finger events. elementary OS normally uses the Ubuntu driver packages underneath its Pantheon desktop, so a correctly installed system often needs no special driver download.
The visible controls are usually found in System Settings under Mouse & Touchpad, although the exact wording can vary between elementary OS releases. Basic actions such as two-finger scrolling and tap-to-click are generally available there. Pinch zoom and three- or four-finger actions rely more heavily on the desktop environment and the application receiving the input.
This matters when choosing or repairing a laptop in Australia. A machine bought from JB Hi-Fi in Melbourne, a refurbished ThinkPad from a Sydney business reseller, or a laptop ordered online for delivery to Perth may use a touchpad with different firmware and button layouts. Checking Linux compatibility before purchase is often more useful than relying on the Windows gesture list printed on the product page.
| Gesture or feature | Main software layer | Typical result in elementary OS | Useful check |
|---|---|---|---|
| Two-finger scroll | libinput and desktop settings |
Vertical or horizontal scrolling | Test in Files and a web browser |
| Tap to click | libinput |
A light tap acts as a click | Enable or disable in Mouse & Touchpad |
| Two-finger click | libinput button mapping |
Usually opens a context menu | Test on the desktop or in Files |
| Pinch to zoom | libinput plus application support |
Zooms maps, images or documents | Try a supported browser or image viewer |
| Three-finger gestures | Desktop or gesture utility | May switch workspaces or show multitasking | Check the current session and release |
| Palm rejection | libinput heuristics and firmware |
Reduces accidental pointer movement | Type while resting a palm near the pad |
| Custom shortcuts | Gesture daemon or desktop integration | Runs commands or changes workspaces | Confirm compatibility with X11 or Wayland |
How Touchpad Drivers Handle Gestures
The driver is the foundation, but it is not the entire gesture system. A touchpad reports contact points, pressure and movement to the kernel. libinput interprets that raw data and turns it into events such as pointer motion, scrolling, tapping, swiping or pinching. The graphical session then passes those events to Pantheon or an application.
This layered design explains why a touchpad can scroll correctly while a three-finger workspace gesture does nothing. Basic pointer and scroll events are widely supported. Complex gestures require a component that consumes a multi-finger event and maps it to an action. Depending on the elementary OS release and session, that component may be part of the desktop, a compositor, or an additional utility.
Most users should keep the standard driver rather than installing a vendor package. Search results may suggest Windows-style downloads from Synaptics, ELAN or Alps, but those packages are not normally used on Linux. Installing unrelated driver files can interfere with package updates and may remove useful defaults such as palm detection.
To see whether the expected input packages are present, open Terminal and run:
dpkg -l | grep -E 'libinput|xserver-xorg-input'
On an X11-based installation, xserver-xorg-input-libinput is commonly important. The libinput-tools package is useful for diagnostics. Install it with:
sudo apt update
sudo apt install libinput-tools
Do not install a package solely because its name contains “touchpad”. First identify the current session and hardware, then change one component at a time.
Checking Hardware and Current Settings
Begin with System Settings rather than the command line. Open Mouse & Touchpad and check that the touchpad is enabled, tapping is configured as expected, and natural scrolling matches your preference. Some laptops have a physical function-key toggle, often marked with a crossed-out touchpad icon. A disabled hardware switch can look like a missing Linux driver.
Test several behaviours in more than one application. Scroll through a long page in a browser, move around Files, try a two-finger context click, and test a supported zoom action in an image viewer or map. This separates a system-wide problem from an application that simply does not implement a particular gesture.
For a hardware-level view, use:
libinput list-devices
Look for a device identified as a touchpad and review its capabilities. The output can show whether tapping, natural scrolling, button areas and disable-while-typing features are available. If no touchpad appears, the problem is earlier than gesture configuration. Check BIOS or UEFI settings, firmware updates supplied by the laptop manufacturer, and whether the device is connected through an unusual I2C controller.
You can also inspect the session type:
echo $XDG_SESSION_TYPE
The result is commonly x11 or wayland. This distinction is important because older gesture tools designed for X11 cannot automatically control a Wayland session. A guide written for an earlier elementary OS release may therefore work perfectly on one installation and have no effect on another.
Australian keyboard layouts can add a small source of confusion. On an Australian English layout, the Super key and Alt key positions are familiar, but printed shortcut diagrams on imported US keyboards may differ. Use the actual key names shown in System Settings when assigning a fallback shortcut for workspace switching.
Enabling Reliable Everyday Gestures
Two-finger scrolling is usually the best starting point because it uses the standard input stack and does not depend on a custom gesture daemon. Select natural scrolling if you want content to move in the same direction as your fingers, or turn it off if you prefer traditional scrollbar behaviour. Keep the setting consistent across your laptop and any external touchpad so muscle memory is not disrupted.
Tap-to-click is convenient, especially on compact laptops, while physical button presses can be more reliable during long writing sessions. If accidental clicks occur while typing, enable disable-while-typing or palm detection where the settings expose it. These safeguards are particularly helpful when working from a café in Brisbane or on a crowded Sydney train, where a palm may rest on the edge of the pad as the laptop moves.
Pinch zoom is controlled jointly by the input stack and the application. A browser, document viewer or graphics application must understand the pinch event. If two-finger scrolling works but zooming does not, test another application before changing drivers. Some applications use keyboard shortcuts such as Ctrl plus the scroll wheel rather than native touchpad pinch events.
Three-finger and four-finger gestures need more care. On a supported release and session, they may be connected to multitasking view, workspace changes or window management. If the desktop does not provide the action you want, an X11 utility such as Touchegg may be available from the Ubuntu repositories:
sudo apt install touchegg
Treat this as an optional layer, not a required driver. Touchegg’s compatibility depends on the display server, desktop integration and package version. It should not be installed blindly on Wayland, where applications are intentionally restricted from globally intercepting input. After installation, review its documentation and test a single gesture before adding several custom actions.
Diagnosing Stutters, Missed Swipes and Accidental Clicks
Gesture problems often come from poor event interpretation rather than weak hardware. A touchpad with a loose palm-rest surface, worn coating or inconsistent firmware may produce false contacts. Try the same gesture with one finger, two fingers and three fingers while watching whether the pointer jumps. If movement becomes erratic only while typing, palm-rejection settings deserve attention.
The diagnostic command below displays live events:
sudo libinput debug-events
Move one finger, scroll with two, and perform a pinch or swipe. Press Ctrl+C to stop. The output is technical, but it can answer useful questions: is the touchpad generating events, are multiple contacts recognised, and does the problem appear before the desktop receives the input? Avoid using this command while entering passwords or handling sensitive work, because event monitors can reveal input activity.
If the touchpad vanishes after sleep, check whether the issue is tied to suspend rather than gestures. Test a complete reboot, then test closing and reopening the lid. Keep elementary OS and its kernel packages updated through AppCenter and System Settings. Firmware updates may come through the vendor’s support process rather than the Linux package manager, so check the laptop manufacturer’s model-specific notes.
A Bluetooth touchpad introduces another variable. Low battery, radio interference and a delayed connection can look like missed gestures. Test the built-in pad separately, charge the external device, and reconnect it before changing system files. For an Australian home using crowded 2.4 GHz Wi-Fi around an NBN modem, moving a Bluetooth receiver or reducing nearby wireless interference can improve responsiveness.
Avoid editing Xorg configuration files unless a well-documented hardware issue requires it. Older advice often recommends adding custom InputClass snippets, but these can override distribution defaults and create problems after an upgrade. Record the original package state and settings before making changes, and remove experimental utilities if they do not solve the specific fault.
Building a Comfortable Gesture Workflow
A useful gesture setup should reduce hand movement without making ordinary pointer control unpredictable. Keep two-finger scrolling, tapping and palm rejection close to their defaults first. Add one workspace gesture only after the basic actions are stable. This creates a clear baseline when an update or application later behaves differently.
Workspace navigation can be paired with keyboard shortcuts if native swipes are unavailable. The Super key, arrow keys and multitasking controls give a dependable alternative on X11 and Wayland. A practical arrangement is to reserve a three-finger horizontal swipe for moving between workspaces and a three-finger vertical swipe for multitasking view, provided the active gesture layer supports those actions.
Consider the physical conditions of your work area. A smooth desk at home in Adelaide may make a bare laptop easy to use, while a padded lap surface or a hot outdoor setting can reduce tracking accuracy. A thin, compatible external mouse is worthwhile for detailed work such as photo editing. Many Australian retailers list touchpad dimensions and precision-touchpad branding, but those descriptions primarily target Windows; confirm Linux reports from the exact model before buying.
When evaluating a laptop, search for the model number rather than the product family alone. Different configurations sold through Officeworks, university stores or refurbished suppliers can use different touchpad controllers. Linux hardware databases and community forums are useful, but give more weight to reports from the same elementary OS generation and the same kernel era.
Keep a short record of changes: the elementary OS release, session type, touchpad model, packages installed and settings altered. If a future update causes a regression, that record makes troubleshooting faster and helps a community forum member reproduce the issue. It also prevents repeatedly installing competing gesture utilities that mask the real cause.
The most dependable path is simple: confirm the touchpad appears in libinput list-devices, configure two-finger scrolling and tapping in System Settings, test applications individually, and only then investigate higher-order gestures. On an X11 session, an optional utility may extend the available actions; on Wayland, prefer gestures provided by the desktop itself and avoid tools that require unrestricted global input access.
Run libinput list-devices now, confirm that your touchpad is detected, and then test a two-finger scroll in Files.