aaron at agoragames.com
Fri Nov 9 11:43:43 PST 2012
I've been having a lot of trouble with the Elan trackpad of the Samsung Series9,
model np900x3c in Ubuntu 12.04 and 12.10. I otherwise love the laptop and so
I used today's hack-a-thon at Agora Games to learn about the implementation and
try to fix it.
The attached patch is admittedly simple but in my testing has fixed the vast
majority of the problems I was having. In short, chassis flex associated with
moving the laptop, typing or resting my palm below the keyboard would cause
the kernel to fire click events associated with the last X,Y position of the
trackpad. Sometimes the click event would be only 'mouse down' or 'mouse
up', resulting in disaster on the desktop.
In the course of learning about the kernel event system and how the synaptics
driver is implemented, I think there are better ways of solving this bug. In
particular, ignoring any events that occur outside of a valid
ABS_MT_TRACKING_ID scope. Even using that though, there is an edge case
documented in the patch wherein someone is resting a single finger on the
touchpad and their wrist next to it causes the kernel to fire a click event.
This is common when idley browsing a website.
I've also pushed my work to github as a pull request.
More information about the xorg-devel