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

Chris Bagwell chris at cnpbagwell.com
Tue Nov 9 08:28:51 PST 2010


On Tue, Nov 9, 2010 at 12:59 AM, Dmitry Torokhov
<dmitry.torokhov at gmail.com> wrote:
> On Tue, Nov 09, 2010 at 01:31:49PM +1000, Peter Hutterer wrote:
>>
>> That said, it also goes counter the whole multi-touch approach - allowing
>> more than one device on a single physical device.
>>
>
> So maybe we should teach wacom to handle all devices as a single input device even
> in cases when they use several USB interfaces? We should be able to
> detect related interfaces by examining intf->intf_assoc (I hope) and
> using usb_driver_claim_interface() to claim them.

Thanks for tips.  I may try it just to prove its possible.

Here is extra info on resolution/dimension issue to also solve when
combining.  Taken from current logic on touch input of Wacom Bamboo:

input_mt_create_slots(input_dev, 2);
input_set_abs_params(input_dev, ABS_MT_POSITION_X, 0, features->x_max,
features->x_fuzz, 0);

Combining 2 inputs means MT slots increases from 2 to 3 (2 touches and
1 stylus).

Today, Pen has x_max=17420, x_fuzz=4 and resolution of 2540.  Also
today, Touch has x_max=15360, x_fuzz=128 and resolution=dunno (we are
scaling up touch x_max in driver and I haven't calculated its affects
on resolution).

I believe that a normalized value of x_max would show that there is a
greater area of tablet can be used for touch then pen.

To handle this difference, we can scale reported values in driver such
that x_max=x_max for all slots.  I'm not clear on fuzz logic so don't
know what 4 vs 128 does.

Or we can maybe update MT interface so you can have per slot values
for clients to query (or MT logic automatically scales for driver as
another option).  Then slots 0-1 are reserved for touch and slot 3 is
reserved for pen.

Chris


More information about the xorg-devel mailing list