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

Dmitry Torokhov
2010-05-24T18:13:51Z

On Mon, May 24, 2010 at 08:02:40PM +0200, Henrik Rydberg wrote:
> 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.
>

We, however, could say that SYN_MT_REPORT may be omitted by the drivers
using slotting mechanism.

--
Dmitry