XtGem Forum catalog
HomeBlogAbout Me

Libinput Multitouch



Scrutiny 7 6 0 download free. Most Windows and Mac computers support multi-touch gesture. For example, swiping up with three fingers will show you the desktop while swiping down the same way will reveal all the open Applications. Unfortunately, most Linux distros including Ubuntu, don’t support multi-touch gestures right out of the box. Although, two-finger scroll and double-tap works, it lacks the three-finger and four-finger gestures.

Change to libinput Xorg driver in Debian 9 'Stretch' The synaptic Xorg driver in being superseded by the newer libinput driver, which can provide lower-level access to multi touch events to clients, but is currently lacking some features found in the older driver. Assuming your touchpad is fully supported by the kernel version you are running, you may need to adjust your xorg configuration to provide the appropriate libinput parameters to enable multitouch support.

Scrolling through a bunch of GitHub repositories led me to libinput-gestures which worked perfectly on my Acer E5-575G laptop. I also found a couple of GUI based gestures app on the Ubuntu Software repository. So let’s see how you install and configure multi-touch gestures on Ubuntu.

Xorg Libinput Multitouch

Get Multi-Touch Gestures on Ubuntu 18.04

Libinput-gestures is a command-line utility for adding multi-touch gestures on your Ubuntu machine. It functions the same as Extended Gestures but offers far more gestures and granular controls. Before we begin with the installation, we need git and Python 3.0+ as the pre-requisites. Set the following options to recognize multi-touch gestures only for the specified touchpad device. Plugin: filters: libinputdevicefilter: keepdevicenames: - ' BUILT-IN TOUCHPAD NAME ' - '.

There are multiple multi-touch gesture apps present on GitHub and Ubuntu Software Center. Out of all those, these 2 apps worked flawlessly for me.

Libinput Multitouch Gestures

1. Extended Gestures

Ubuntu right-out-of the box supports scrolling gestures and double taps. With Extended gestures, you can extend that list to 3-finger and 4-finger swipe. You can download Extended Gestures from the Ubuntu Software Center. Once you have the app installed, launch it and you will be presented with the additional gestures it provides.

The app also lets you modify the swipe sensitivity. In my case, I have kept it to “1”. Since 0 sensitivity would require me to move my fingers through the entire trackpad.

Download Extended Gestures

2. libinput-gestures

libinput-gestures is a command-line utility for adding multi-touch gestures on your Ubuntu machine. It functions the same as Extended Gestures but offers far more gestures and granular controls. Before we begin with the installation, we need git and Python 3.0+ as the pre-requisites. Luckily, Ubuntu already comes installed with Python. But we need to make sure the version is 3.0+. So, to check your Python version use the following command.

In case the command gives an error, you don’t have python 3.0 installed. To install that, run the following command.

After you have python and git installed, we can proceed towards installing libinput-gestures. However, libinput-gestures need to read your touchpad device and for that, your user account to be part of the “input” user group. Run the following command to add yourself to the input user group. You can manually replace it with some other id if you want to add libinput-gesture

Here, $USER is an environment variable whose value is your user id. After the command has completed successfully, restart your system for the changes to take effect.

After the restart, we need to install wmctrl and libinput-tools. wmctrl allows a program to interact with a window which is required by libinput-gestures to minimize windows and applications. To install both of them, run the following commands.

After the successful installation of libinput-tools and wmctrl, we can finally proceed to install libinput-gestures. Run the following commands to install the utility. Mac cream powder.

The git clone command will copy all the files from GitHub and place it under your home directory. Next command installs libinput-gestures from the downloaded directory.

After we have the files in place, we need to start the libinput-gestures application plus configure it to autostart every time. For that, use the following commands in respective order.

Once done, the libinput-gesture will map the three-finger swipe up gesture to go to Desktop and the three-finger swipe down on the desktop to go to the previous app. You can also pinch in and out to reach the app overview menu.

Make sure you perform the pinch-in and pinch-out at the center of the trackpad to get accurate results. https://visamiti1971.mystrikingly.com/blog/adobe-photoshop-5-0-free-download-for-pc.

You get few default gestures with the app like the three-finger swipe and pinch-to-zoom. You can also modify or add other gestures like swipe right_up, swipe left_up, etc. To do that, we need to modify the libinput-gestures.conf file. So, run the following command

This command will open the configuration file wherein you can add or modify gesture actions. For example, I have mapped the Ctrl+Tab shortcut to the left-swipe-up gesture. This lets me quickly switch tabs in chrome with just a left-swipe-up on the trackpad.

Closing Word

These gesture apps primarily map keyboard shortcut to a trackpad action. It won’t be as fluid as on macOS or Windows but nonetheless is a good workaround. For more Ubuntu articles, check out our articles on best PDF editor for Ubuntu and best open-source network monitoring tools for Linux.

Libinput MultitouchLibinput Multitouch

For any issues or queries, let me know in the comments below.

  1. Input Libraries
  2. Display Servers and Frameworks

Touch screen under Embedded Linux requires a kernel module that receives the hardware signals and exports it as an input device to be read in user space by a library.


As an example, if you are using Boot to Qt image with Capacitive Touch Display 7' Parallel, your setup will look like the following fluxogram


Libinput Touchpad Config

On the other hand, if you are using Ångström X11 image with Resistive Touch Display 7' Parallel, your setup will look like the following fluxogram


In this article, touch screen calibration will be discussed applied to different libraries and its methods to correctly calibrate your touchscreen display.

Touch screen calibration concerning the input libraries is provided in this section.

libinput

As mentioned in libinput's wiki:

libinput is a library to handle input devices in Wayland compositors and to provide a generic X.Org input driver. It provides device detection, device handling, input device event processing and abstraction so minimize the amount of custom input code compositors need to provide the common set of functionality that users expect.

Concerning Toradex offerings, Libinput is used by:

  • Partner Demo Images:

Calibration

For static configuration via udev, one can set the LIBINPUT_CALIBRATION_MATRIX udev property as a environment variable with the following udev rule:

You can use the following command line examples to create a file with the udev rule.

Default matrix:

Invert Y axis only:

Invert X axis only:

Invert X and Y axis:

Further information on the LIBINPUT_CALIBRATION_MATRIX, please access the documentation.

Touch screen calibration concerning display servers (such as Xorg and Wayland) or standalone frameworks (such as Qt) is provided in this section.

Qt

The Qt framework supports different input methods. Regardless of this article's information, please also consult the official Qt documentation.

Boot to Qt

The Qt for Device Creation demo image uses libinput, therefore please refer to the previous libinput section for touchscreen calibration information.

Torizon

Torizon uses Weston and Libinput. Toradex provides a container for touch screen calibration. For more details read Touch Screen Calibration (Torizon).

See also





Libinput Multitouch
Back to posts
This post has no comments - be the first one!

UNDER MAINTENANCE