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

From: Dmitry Torokhov
Date: Mon May 24 2010 - 13:22:51 EST


On Monday 24 May 2010 10:06:15 am Ping Cheng wrote:
> On Mon, May 24, 2010 at 8:59 AM, Dmitry Torokhov
>
> <dmitry.torokhov@xxxxxxxxx> wrote:
> > On Sun, May 23, 2010 at 11:07:27PM -0700, Ping Cheng wrote:
> >> On Sun, May 23, 2010 at 9:58 PM, Peter Hutterer
> >>
> >> <peter.hutterer@xxxxxxxxx> wrote:
> >> >> > And yes, you could add it once we find it's an issue, but by then
> >> >> > someone has already spent time to work around this. And when you
> >> >> > then start sending slot events all the time, you admit that
> >> >> > writing the workaround was just a time waster :)
> >> >>
> >> >> Work around what, exactly?
> >> >
> >> > I was referring to having a protocol where processes has to ignore
> >> > contacts already down until they've been there when a contact was
> >> > pressed (and your comment that if this becomes an issue it could be
> >> > added lateron). Now, the ignoring part needs to be written (this is
> >> > the "workaround" referred to above). if you're planning to add it
> >> > later, we need to cater for that part as well then, having two
> >> > implementations depending on the kernel versions.
> >> >
> >> > but this is just for clarification, it's a moot point anyway given
> >> > that button events have the same behaviour.
> >>
> >> This topic is outside of the _MT_ protocol discussion.
> >>
> >> However, it is indeed an issue with all filtered input events, both
> >> for MT and regular ones.
> >>
> >> I think we need to add an ioctl to enable user land driver/client to
> >> signal the kernel driver to send all events without filtering, just
> >> once. Hot-plugged devices and X driver starts after user has contacted
> >> with the device are two examples that the client would miss filtered
> >> events.
> >>
> >> Dmitry, do you think it is a valid suggestion?
> >
> > What about using EVIOCGKEY/EVIOCGSW/EVIOCGABS?
>
> Those EVIOCs only give us the static values (max/min/supported keys,
> etc.). We need their dynamic input data here, the actual x, y,
> button, pressure, etc. Am I missing something about those EVIOs?
>

Yes you are ;) Supported events are reported via EVIOCGBIT, EVIOCGKEY and
EVIOCGSW will return current state of keys/switches. As far as EVIOCGABS
goes, it also returns, besides min/max/etc, last reported _values_ of the
ABS_* events.

--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/