On Wed, 10 May 2006, Vojtech Pavlik wrote:
> On Wed, May 10, 2006 at 10:50:47AM -0400, Alan Stern wrote:
> > Dmitry and Vojtech:
> >
> > So many USB keyboards require the HID_QUIRK_NOGET blacklist flag, does it
> > make sense to set the flag automatically for every keyboard device?
> >
> > Or would that cause problems with some highly advanced keyboards?
>
> No, it wouldn't be a big deal to enable it for keyboard and mice. We
> need it for joysticks for autocalibration, though.
Does this patch look right? Would it be okay to omit testing for a
keyboard or mouse protocol, and simply rely on the Boot interface
subclass?
Alan Stern
Index: usb-2.6/drivers/usb/input/hid.h
===================================================================
--- usb-2.6.orig/drivers/usb/input/hid.h
+++ usb-2.6/drivers/usb/input/hid.h
@@ -41,6 +41,14 @@
#define USB_INTERFACE_CLASS_HID 3
/*
+ * USB HID interface subclass and protocol codes
+ */
+
+#define USB_INTERFACE_SUBCLASS_BOOT 1
+#define USB_INTERFACE_PROTOCOL_KEYBOARD 1
+#define USB_INTERFACE_PROTOCOL_MOUSE 2
+
+/*
* HID class requests
*/
Index: usb-2.6/drivers/usb/input/hid-core.c
===================================================================
--- usb-2.6.orig/drivers/usb/input/hid-core.c
+++ usb-2.6/drivers/usb/input/hid-core.c
@@ -1790,6 +1790,14 @@ static struct hid_device *usb_hid_config
(hid_blacklist[n].idProduct ==
le16_to_cpu(dev->descriptor.idProduct)))
quirks = hid_blacklist[n].quirks;
+ /* Many keyboards and mice don't like to be polled for reports,
+ * so we will always set the HID_QUIRK_NOGET flag for them. */
+ if (interface->desc.bInterfaceSubClass == USB_INTERFACE_SUBCLASS_BOOT) {
+ if (interface->desc.bInterfaceProtocol ==
USB_INTERFACE_PROTOCOL_KEYBOARD ||
+ interface->desc.bInterfaceProtocol ==
USB_INTERFACE_PROTOCOL_MOUSE)
+ quirks |= HID_QUIRK_NOGET;
+ }
+
if (quirks & HID_QUIRK_IGNORE)
return NULL;
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel