Linux userspace driver to enable and disable the touchpads on TongFang/Uniwill laptops using a HID command.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
Andreas Scherbaum b95487e804
Add small text corrections
2 years ago
debian Remove obsolete copyright notice 2 years ago
res Updated 99-tuxedo-touchpad-switch.rules 3 years ago
.gitignore Add debian package files 4 years ago
CMakeLists.txt Fix build and runtime dependencies 2 years ago
LICENSE.txt Cleanup 4 years ago
ReadMe.md Add small text corrections 2 years ago
setup-gnome.cpp Fix uncritical memory leak on exit 3 years ago
setup-gnome.h Fix double unlock bug and some memory leaks 4 years ago
setup-kde.cpp Fix memory leak 3 years ago
setup-kde.h Fix double unlock bug and some memory leaks 4 years ago
touchpad-control.cpp Remove leftover debug output 2 years ago
touchpad-control.h Merge GNOME and KDE logic and decide in programm what to run 4 years ago
tuxedo-touchpad-switch.cpp Add gracefull exit on previously unhandled error cases 3 years ago

ReadMe.md

About

This is 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 appropriate 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

Packaging

$ sudo apt install libudev-dev libglib2.0-dev git-buildpackage debhelper
$ rm -r build
$ 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.