multitouch and synaptics clickpad questions

Chris Bagwell chris at cnpbagwell.com
Sun Mar 6 12:28:35 PST 2011


On Sat, Mar 5, 2011 at 4:00 AM, Daniel Kurtz <djkurtz at google.com> wrote:
> Back in October Chase Douglas [1] kicked off a flurry of patches and
> discussions on this mailing list about adding Clickpad support, and/or some
> form of multitouch gesture processing (what little is possible with
> Synaptics Advanced Gesture Mode) to the xf86-input-synaptics driver (and/or
> the kernel).  The patches were commented upon, and rehashed a little... but
> now everything seems to have died down - and, as far as I can tell, nothing
> has yet been accepted into xf86-input-synaptics upstream.
> [1] Starting with
> this: http://lists.x.org/archives/xorg-devel/2010-October/013809.html
> As a result of this work, in late December Henrik Rydberg submitted a patch
> [2] to linux-input, based on the discussions above, which added semi-mt
> support to the synaptics kernel driver.  This patch, too, though, has not
> yet been accepted upstream.
> [2] https://patchwork.kernel.org/patch/426561/
>
> What is the status of the kernel driver patches?

Henrik's semi-mt patch has been submitted and I believe it will be in
kernel 2.6.38.  It is only indirectly related to clickpads though.  It
allows 2 fingers worth of data to be reported to userspace; which is
an improvement over having to emulate 2 fingers based on finger width.

Chase had some additional kernel patches to try and improve
clickpad-specific behaviour on kernel side but those were scrapped.
It is better to do in user land but semi-mt reports are a prerequisite
for that.

> What is the status of the effort to use them from user space?

>
> Are patches still being reviewed/tested/worked on for xf86-input-synaptics
> to use Synaptics AGM to improve clickpad performance?

I do not believe anyone is working on it now.  Some patches were
submitted to this list around January (I think) to ignore bottom 20%
of clickpad to allow for clickpad button presses without cursor
movement and I think versions of that patch exist in multiple
distributions.  I believe that approach was basically rejected for
inclusion in upstream.  Its not how windows or macs work for clickpads
and more of an easy hack.

No one is working on "ideal" solution that I've heard of (see
description below).

> Was a decision made to not bother with xf86-input-synaptics, and instead to
> focus only on mtdev & xf86-input-multitouch?

For clickpads, I believe its just no body working on it but seems
reasonable to add to xf86-input-synaptics.  It would help move things
along if someone donated a clickpad to maintainer of
xf86-input-synaptics.

> Is semi-mt supported in mtdev?

No but to be clear semi-mt isn't about clickpads.  Semi-mt is about
rough way to report 2 finger coordinates to user land.  Even if mtdev
adds support for semi-mt, it will not automatically mean clickpads are
working.

What clickpads need is unique gesture logic that turns what normally
would be a 2-finger scroll gesture into a 1 finger movement
non-gesture when it sees button clicked.  There is some finger
tracking logic needed as well to decide which of 4 rectangle points in
semi-mt report is the corner related to "movement".

The whole Xinput 2.1 stuff is in active development.  Its hard to
answer were this clickpad logic should be implemented.  Today it would
be in xf86-input-synaptics but I'm not sure if it would need to move
to something like utouch in the future.  Its kinda a special case and
perhaps will always stay in xf86-input-synaptics.

Chris


More information about the xorg-devel mailing list