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.
Werner Sembach
c2859e1d06
|
4 years ago | |
---|---|---|
res | 4 years ago | |
.gitignore | 4 years ago | |
CMakeLists.txt | 4 years ago | |
LICENSE.txt | 4 years ago | |
MunkeiVersionFromGit.cmake | 4 years ago | |
ReadMe.md | 4 years ago | |
setup-gnome.cpp | 4 years ago | |
setup-gnome.h | 4 years ago | |
setup-kde.cpp | 4 years ago | |
setup-kde.h | 4 years ago | |
touchpad-control.cpp | 4 years ago | |
touchpad-control.h | 4 years ago | |
tuxedo-touchpad-switch.cpp | 4 years ago |
ReadMe.md
This a proof-of-concept Linux userspace driver to hardware-enable/-disable the touchpads on TongFang/Uniwill laptops. This will also trigger the disabled-led, formerly unfunctional under linux.
It syncs up with the software toggle in the gnome settings deamon.
It comes with some known disfuctionalities:
- only works on desktop evnironments using gsettings/gio
- does not work on loginscreen(gdm)
- needs to be started for every user seperatly
- every user needs write access to the /dev/hidraw* device for the touchpad (udev *.rules included)
- switching between 2 users is not detected (on next toggle the software and hardware disable will be in sync again however)
Author: Werner Sembach
Raw i2c communication with the touchpad for reference:
0x22 0x00 0x37 0x03 0x23 0x00 0x04 0x00 0x07 0x03
[^^ ^^] (?max?) length of report? in little endian
^ 2 bits reserved + report type
^ report id (defined by touchpad controller?
^ reserved
^ opcode (0x2 = GET_REPORT, 0x3 = SET_REPORT)
[^^ ^^ ^^ ^^ ^^] ?i2c-hid stuff?
^ ?report id again?
^^ report/payload: defined by touchpad controller? 0x03 enabled (0x02 auch, keine ahnung was das unterste bit tut), 0x00 disabled