[PATCH] ClickPad support v4

Yan Li yan.i.li at intel.com
Sat Dec 18 05:17:10 PST 2010

On Sat, 2010-12-18 at 03:18 +0800, Chris Bagwell wrote:
> OK, I've re-reviewed patch and I've decided I understand what its
> trying to do now.  Most my original comments still apply but I've
> added new ones.
> First, I need to confirm intent of patch is this:
> * Create a rectangle defined by {Top|Bottom|Left|Right}Edge that
> excludes button area in attempt to cause cursor not to move when in
> that area.

This was indeed the intent of Iwai's patch, on which my v4 was based.
However, based on my recent testing on several different models of
touchpad, I think that was not a best solution. Because the design goal
of ClickPad is to remove the physical buttons so that the space used by
them can be saved, and touchpad can be enlarged on small netbooks with
very limited surface space. Therefore it was wrong on the software side
to limit the area a user can touch, because this was against the
original idea of using a clickable touchpad. With this patch, the
touchable area was limited to a very small region, not so good a user

I've tested the official driver from Synaptics in Windows, and it
doesn't restrict the touchable area, which means the whole pad is
touchable and clickable. The problem why we chose the current solution
was actually due to jumpy cursor -- when the user is touching the pad to
move the course and at the same time use another finger to click the
lower clickable area, the cursor would jump unexpectedly. The old
solution used in this patch was to limit the touchable area and ignore
abs sent from button areas. But since then I have shifted my focus from
this old solution to fix the jumpy cursor problem instead.

I've carefully examined the jumpy cursor problem found in Lenovo S10-3t,
whose touchpad doesn't support two-finger nor finger-width. Finally I
found Alberto Milone's patch from bug #21614 is the best solution, and
I've ported it to latest HEAD:

So I suggest we rework this ClickPad patch, keep only the clicking
interpretation part and remove the area limit, and try to fix the jumpy
cursor problem (and I'm using JumpyCursorThreshold patch v5 I linked
above in MeeGo, so far the feedback is very good).

Best regards,
Li, Yan

MeeGo Team, Opensource Technology Center, SSG, Intel
Office tel.: +86-10-5751-1695 (inet: 8-751-1695)
OpenPGP key: 5C6C31EF
IRC: yanli on network irc.freenode.net

More information about the xorg-devel mailing list