libinput and Synaptics drivers don't support absolute input for touchpads for a while. I found https://github.com/apsun/AbsoluteTouchEx by apsun but it was Windows only. After searching a while, I found GNU/Linux solution by benny10033 in https://osu.ppy.sh/community/forums/topics/914557, but it had some flaws.
First of all, make sure you use X11 / X.org to run your desktop environment instead of Wayland. See https://unix.stackexchange.com/questions/336219/gnome-defaults-to-wayland-how-can-i-go-to-back-to-x11 to fix it in GNOME. It already uses X11 in KDE and XFCE.
Then you can install the package. Here are the commands for some most used distributions:
The installation is pretty much done now, but you should execute the following command for abstouch-nux to work properly.
The first thing you should do is run the setup.
You can then start the client.
You can see following commands for further help:
Have fun everyone!
- It couldn't map the input to display or screen properly.
- You couldn't select the display and screen you want to display with.
- You couldn't calibrate your input to match your touchpad.
- You had to enter the event every time.
- It wasn't very user-friendly to use.
Installation
Here is a little guide to how to install and use it:First of all, make sure you use X11 / X.org to run your desktop environment instead of Wayland. See https://unix.stackexchange.com/questions/336219/gnome-defaults-to-wayland-how-can-i-go-to-back-to-x11 to fix it in GNOME. It already uses X11 in KDE and XFCE.
Then you can install the package. Here are the commands for some most used distributions:
Debian (Ubuntu, Kali, Mint, etc.)
$ echo -e "deb http://ppa.launchpad.net/acedron/ppa/ubuntu focal main\ndeb-src http://ppa.launchpad.net/acedron/ppa/ubuntu focal main" | sudo tee -a /etc/apt/sources.list
$ sudo apt-get update
$ sudo apt-get install abstouch-nux
$ sudo apt-get update
$ sudo apt-get install abstouch-nux
Fedora (CentOs, Red Hat, etc.)
$ sudo dnf install cmake gcc libXi-devel libX11-devel libXi libX11 xorg-x11-drv-libinput
$ git clone https://github.com/acedron/abstouch-nux.git
$ cd abstouch-nux
$ cmake -B build
$ cmake --build build
$ sudo cmake --install build
$ git clone https://github.com/acedron/abstouch-nux.git
$ cd abstouch-nux
$ cmake -B build
$ cmake --build build
$ sudo cmake --install build
openSUSE
$ sudo zypper install cmake gcc libXi-devel libX11-devel libXi6 libX11-6 xf86-input-libinput
$ git clone https://github.com/acedron/abstouch-nux.git
$ cd abstouch-nux
$ cmake -B build
$ cmake --build build
$ sudo cmake --install build
$ git clone https://github.com/acedron/abstouch-nux.git
$ cd abstouch-nux
$ cmake -B build
$ cmake --build build
$ sudo cmake --install build
The installation is pretty much done now, but you should execute the following command for abstouch-nux to work properly.
Usermod
$ sudo usermod -aG input $(whoami)
Usage
The binary `abstouch` is available after installation.The first thing you should do is run the setup.
Seting up the Client
$ abstouch setup
You can then start the client.
Starting the Client
$ abstouch start
Stopping the Client
$ abstouch stop
Running the Client on Foreground
$ abstouch start -f
Calibrating the Client
$ abstouch calibrate
Configuring the Client Manually
$ abstouch config
You can see following commands for further help:
Help
$ abstouch help
Manual Page*
$ man abstouch
Possible Error Fixes
- Make sure the user is in input group. If not, you should add sudo at the beginning of the command or run as root.
- Make sure you use X11 instead of Wayland. It is X11 on KDE and XFCE by default, but if you are using GNOME, see https://unix.stackexchange.com/questions/336219/gnome-defaults-to-wayland-how-can-i-go-to-back-to-x11
- Make sure your touchpad supports absolute input.
License
abstouch-nux by acedron is licensed under the terms of GNU General Public License (GPL) v3.0. See https://github.com/acedron/abstouch-nux/blob/master/LICENSE for more information.Issues
Please create an issue at https://github.com/acedron/abstouch-nux/issues if you have any problems running the client.Have fun everyone!