1
0
Fork 0
mirror of https://github.com/tuxedocomputers/tuxedo-touchpad-switch.git synced 2025-01-18 11:41:10 +01:00
Linux userspace driver to enable and disable the touchpads on TongFang/Uniwill laptops using a HID command.
Find a file
2021-02-05 13:17:53 +01:00
debian Recreate changelog 2021-02-02 17:13:16 +01:00
res Add license text to all files and auto detect version from git tags 2021-01-27 18:36:39 +01:00
.gitignore Add debian package files 2021-02-01 19:43:11 +01:00
CMakeLists.txt Automatically set dependencies 2021-01-28 18:36:54 +01:00
LICENSE.txt Cleanup 2020-12-22 12:07:53 +01:00
MunkeiVersionFromGit.cmake Make dev build timestamp utc 2021-02-01 16:48:04 +01:00
ReadMe.md Update ReadMe.md 2021-02-05 13:17:53 +01:00
setup-gnome.cpp Fix double unlock bug and some memory leaks 2021-01-29 18:40:14 +01:00
setup-gnome.h Fix double unlock bug and some memory leaks 2021-01-29 18:40:14 +01:00
setup-kde.cpp Fix double unlock bug and some memory leaks 2021-01-29 18:40:14 +01:00
setup-kde.h Fix double unlock bug and some memory leaks 2021-01-29 18:40:14 +01:00
touchpad-control.cpp Merge GNOME and KDE logic and decide in programm what to run 2021-01-27 16:37:17 +01:00
touchpad-control.h Merge GNOME and KDE logic and decide in programm what to run 2021-01-27 16:37:17 +01:00
tuxedo-touchpad-switch.cpp Fix double unlock bug and some memory leaks 2021-01-29 18:40:14 +01:00

About

This a Linux userspace driver to enable and disable the touchpads on TongFang/Uniwill laptops using a HID command. This will trigger the touchpad-disabled-LED, formerly unfunctional under linux.

Most desktop environments already have a way to disable the touchpad, but this setting never reaches the firmware of the device. This driver listens to the session D-Bus and dispatches the approprita HID call to /dev/hidraw* whenever the setting changes, closing the gap to the device itself, and enabling the built in LED.

Currently this driver was only tested and works on the GDM greeter, GNOME Shell, Budgie, and KDE Plasmashell. All other environments, including the tty-console, work as before, meaning touchpad is always enabled on the HID level.

Author: Werner Sembach tux@tuxedocomputers.com

Building

Testing

$ sudo apt install libudev-dev libglib2.0-dev
$ mkdir build
$ cd build
$ cmake ..
$ sudo make install
$ sudo reboot

There is also a target make package which is fine for testing, but it will not create a debian best practices compliant .deb. For this you need to use gbp buildpackage as described below.

Packaging

$ sudo apt install libudev-dev libglib2.0-dev git-buildpackage debhelper
$ gbp buildpackage -uc -us

A .deb package is created in the folder above the git repository.

Installing

After installing via make install or using the .deb you need to reboot your system for the driver to load.