Re: [PATCH] hid: add two led codes to hid input mapping

From: Dmitry Torokhov
Date: Mon Apr 02 2007 - 09:06:27 EST


On 4/2/07, Dan Engel <dan@xxxxxxxxxxxxxxxxx> wrote:
On Mon, 2007-04-02 at 00:04 -0400, Dmitry Torokhov wrote:

> Actually I want to keep input subystm out of the loop here, since LEDs
> such as mail, charging, etc have nothing to do with user input but
> rather reflect overall system/application state.
>

What if I just added a HID_QUIRK_HIDDEV for the vendor/product id's in
the blacklist table in hiddev.c. That would force the creation of a
hiddev device, through which a user-space program could access the HID
usages directly.

It would be awkward, though, since there would also be an input event
device, but one through which the full functionality is not accessible.

What other evets/usages does this device support?

Is there a HID_QUIRK that would force creation of a hiddev *instead of*
(rather than in addition to) an event dev?

No but it could be added.


Two things to keep in mind:

1) The device in question (it's a Belkin USB Flip KVM switch, just to
restate from the OP) has nothing to do with LED's. It just overloads the
LED HID usage codes to receive control from the PC.

Ah, OK.

2) No matter what we do in terms of presenting this device to user-land,
under the hood it's a HID-class USB device, and it probably doesn't make
sense to not make use of that.

It may be a HID-class device but it is definetly not an input device
and it would be wrong to present it to userspace as a device having 2
LEDs on it - it would be a lie. If we did that then some application
might mistake the device for something else and decide to switch that
LED off thus turning your KVM off. A random application should not be
aware how a random vendor decided to interpret the specs.

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