Re: [RFC v2] input: Introduce device information ioctl

From: Dmitry Torokhov
Date: Wed Dec 15 2010 - 16:52:43 EST


On Wednesday, December 15, 2010 01:16:28 pm Chase Douglas wrote:
> On 12/15/2010 02:20 PM, Henrik Rydberg wrote:
> > Today, userspace sets up an input device based on the data it emits.
> > This is not always enough; a tablet and a touchscreen may emit exactly
> > the same data, for instance, but the former should be set up with a
> > pointer whereas the latter does not need to. Recently, a new type of
> > touchpad has emerged where the buttons are under the pad, which
> > changes handling logic without changing the emitted data. This patch
> > introduces a new ioctl, EVIOCGPROP, which enables user access to a set
> > of device properties useful during setup. The properties are given as
> > a bitmap in the same fashion as the event types.
> >
> > Signed-off-by: Henrik Rydberg <rydberg@xxxxxxxxxxx>
> > ---
> > Hi all,
> >
> > Here is version two of the device information proposal. In addition to
> > implementing the feedback, this version only defines a single combined
> > type/capabilities field. Since we want to support a device being of
> > multiple types, it suggests that we are really after the properties
> > that make up a type, rather than the types themselves. And since
> > quirks are also properties, we end up with a single bitmap of
> > properties instead.
> >
> > As an example of how this would work for the
> > touchpad/tablet/touchscreen triplet, there are two properties defined,
> > INPUT_PROP_POINTER and INPUT_PROP_DIRECT. A touchpad is an indirect
> > pointer device, a tablet is a direct pointer device, and the
> > touchscreen is simply a direct device.
> >
> > What do you think?
>
> I must have missed the first version of this patch, but I give two
> thumbs way up :). The detection code for touchpad/tablet/touchscreen in
> xf86-input-evdev is large and unwieldy, and seemingly simple changes to
> an input driver can cause incorrect interpretation. Having this
> available should help quite a bit!
>
> Acked-by: Chase Douglas <chase.douglas@xxxxxxxxxxxxx>

As long as we document that !pointer && !direct means "unknown" or
"unspecified" so as to avoid having to update all devices at once that
should be OK.

We also need to wire up uinput.

Thanks.

--
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/