Re: [PATCH 2/2] input: mt: Document the MT event slot protocol (rev4)

Henrik Rydberg
2010-05-24T18:03:23Z

Ping Cheng wrote:
> On Mon, May 24, 2010 at 12:13 AM, Henrik Rydberg <rydberg@euromail.se> wrote:
>> Ping Cheng wrote:
>>> What I am thinking is that we only need one SYN_ call for both _MT_
>>> and regular data combined, which is a call to input_sync() at the end
>>> of the whole packet. The SYN_MT_ can be replaced by the following
>>> example, which I think is more "client-friendly". This solution is
>>> based on the fact that the major difference between type A and type B
>>> is whether we need to filter the data or not:
>>>
>>> ABS_MT_RANDOM 0
>>> ABS_MT_POSITION_X x[0]
>>> ABS_MT_POSITION_Y y[0]
>>> ABS_MT_ RANDOM 1
>>> ABS_MT_POSITION_X x[1]
>>> ABS_MT_POSITION_Y y[1]
>>> SYN_REPORT
>>>
>>> input_set_abs_params(input_dev, ABS_MT_RANDOM, 0, 2, 0, 0);
>>>
>>> would tell the clients that they can expect two random touches.
>> And if you do s/RANDOM/SLOT/, you end up with what? ;-)
>
> Haha, I know what you are thinking :).
>
> Maybe I didn't make my point clear. I didn't mean to make SLOT
> backward compatible. I meant to replace SYN_MT_REPORT event with the
> ABS_MT_ RANDOM label so we only sync the whole packet once at the end.
> This way both types of MT_ data follow the same input event reporting
> flow....

You mean changing the type A protocol, breaking the current code base? That is a
big no-no.

> SLOT and RANDOM are both needed since they deal with two different
> types of MT data, filtered (type B) and unfiltered (type A). There is
> no midunderstanding there.
>
> Ping

Henrik