[RFC] Multi-Touch (MT) support - arbitration or not

Daniel Stone daniel at fooishbar.org
Sun Nov 7 08:30:37 PST 2010


Hi,

On Fri, Nov 05, 2010 at 11:47:28AM -0700, Ping Cheng wrote:
> Recent changes and discussion about MT support at LKML, UDS, and
> xorg-devel encouraged me to migrate Wacom MT devices to the slot-based
> MT protocol (introduced in kernel 2.6.36).

Nice!

> My goal is to understand how X server would like the MT data to be
> reported from the kernel. I hope to keep kernel and X server driver MT
> support in sync so we can avoid unnecessary confusion or extra work in
> the userland.

:)

> The existing solution for single touch events is to arbitrate touch
> when pen is in prox. This is based on the assumption that we do not
> want to have two cursors competing on the screen.

What do you mean by 'arbitrate' here? I guess you're talking about which
events should send ABS_[XY]?

> 1.     Arbitrate all touch data in the kernel.
> 
> This is the simplest solution for device driver developers. But I do
> not feel it is end user and userland client friendly.
> 
> [...]
> 
> 3.    Report first finger touch as ABS_X/Y events when pen is not in prox;
>        Report pen data as ABS_X/Y events when there is no finger touch;
>        Report touch data as MT_TOOL_TOUCH and pen data as MT_TOOL_PEN
> events when both pen and touch data are received. No ABS_X/Y are
> reported when pen and tocuh or multi-touch data are received.
> 
> I feel this one makes sense to userland since pen can be considered as
> another touch.

I'd say that either #1 or #3 is the best idea here, simply because they
seem to be the most straightforward, and thus easier to support.
Assuming that xf86-input-wacom will track the state itself and decide
(using whatever criteria) which events should send core x/y motion, then
all you need to do with ABS_[XY] is just make a best effort to have it
more or less work for dumb userspace clients.

Cheers,
Daniel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.x.org/archives/xorg-devel/attachments/20101107/c6cce498/attachment.pgp>


More information about the xorg-devel mailing list