Re: [PATCH] Expose input device usages to userspace

Elias Naur
2006-03-14T05:33:22Z

On Monday 13 March 2006 22:02, Arjan van de Ven wrote:
> On Mon, 2006-03-13 at 21:54 +0100, Elias Naur wrote:
> > Hi,
> >
> > I believe that the current event input interface is missing some kind of
> > information about the general kind of input device (Mouse, Keyboard,
> > Joystick etc.) so I added a simple ioctl to do just that. The relevant
> > line in include/linux/input.h is:
> >
> > #define EVIOCGUSAGE(len) _IOC(_IOC_READ, 'E', 0x1c, len) /*
> > get all usages */
> >
> > It returns a bit set with the device usages. Current usages are:
> >
> > #define USAGE_MOUSE 0x00
> > #define USAGE_JOYSTICK 0x01
> > #define USAGE_GAMEPAD 0x02
> > #define USAGE_KEYBOARD 0x03
>
> I'm not sure that this is a good idea in general.

Can you elaborate on the reasons? My thinking is that HID is going to be
pretty much the standard for input devices, and they all expose nicely
defined usages. Furthermore, "those other OS'es" already expose device
usages :)

> However when you do it, at least make it a bitmap; things can be both a
> mouse and a keyboard for example.

It already is a bitmap. The USAGE_* constants are the bit indices, just like
the EV_* constants.

- elias