OK, from scratch. These three patches, applied in sequence should fix
most of the problem, including the locked mouse buttons chaos.

--- They don't fix --- the three-button combo of death (e.g. press three
buttons and move the touchpad). I've been thinking about it and there
just seems no way to deal with this in a sane way (see below) without
requiring lookahead on the seventh byte. This would mean the driver
locks up when is receives a six-byte packet while alle the buttons are
pressed and would only unfreeze after the seventh byte comes in and
clears up the situation.

There is nothing in the first byte, it's 0xCF always.
The second byte is purely motion data, and required in full for that
The third byte has one unused bit -- which is always zero for me -- and the 
ges/fin bits, which occur in all combinations in 6-byte packets. I've not 
analyzed 9-bytes thoroughly because it's difficult to move touchpad and stick 
while tapping. Still, this is an unlikely spot.
The fourth byte is actually different for the two types of packet. The lower 
nibble contains the mouse buttons or 1111, leading to the now well-kown 
problem. The upper nibble contains either PS/2 passthrough bits or coordinates 
data.
Byte five is motion data again.
Byte six is the last resort. Maybe the hw doesn't use the whole dynamic range 
of Z for the pressure.

** Attachment added: "initial fix"
   http://launchpadlibrarian.net/35682502/0001-initial-fix.patch

-- 
ALPS DualPoint Touchpad flaky performance
https://bugs.launchpad.net/bugs/296610
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to