So, I played around with the driver's source code for a few hours, and managed to get the touchpad to work. It turns out that my previous guess was wrong: this device doesn't use the v3 protocol, but v2 with some small modifications with respect to what is supported by the driver. Attached is a very crude patch that I made against Seth Forshee's dkms driver, downloaded from http://people.canonical.com/~sforshee/lp681904 /psmouse-elantech-dkms/v0.2/. The patch is not intended to be integrated as is, because it will surely break other devices, but it should be enough to show what I did.
I found two main differences with respect to the currently supported v2 protocol. First, the resolution values currently hardcoded in the driver don't work for this device, which seems to have a lower resolution. Adjusting these values after some trial and error fixed most of the issues. Also, the device sends packets every now and then that have both coordinates set to 0xff. These packets have to be ignored (or treated properly, but I cannot guess what their purpose is) in order for the touchpad to work. With this patch applied, my touchpad is working flawlessly. In particular, two-finger scrolling works correctly, which used to be completely unusable before. There's of course some device detection code that still has to be written, but that seems to lie beyond my level of expertise, as I have no experience with kernel programming. Still, please let me know if can help with testing. ** Patch added: "Proof-of-concept patch" https://bugs.launchpad.net/ubuntu/+bug/805818/+attachment/2387625/+files/elantech.patch -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/805818 Title: Mouse Erratic Movement not able to control. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+bug/805818/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
