summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/dev/usb/ums.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/usb/ums.c b/sys/dev/usb/ums.c
index 875539b..73bb120 100644
--- a/sys/dev/usb/ums.c
+++ b/sys/dev/usb/ums.c
@@ -198,7 +198,10 @@ ums_match(device_t self)
if (err)
return (UMATCH_NONE);
- if (id->bInterfaceClass == UICLASS_HID &&
+ if (hid_is_collection(desc, size,
+ HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_MOUSE)))
+ ret = UMATCH_IFACECLASS;
+ else if (id->bInterfaceClass == UICLASS_HID &&
id->bInterfaceSubClass == UISUBCLASS_BOOT &&
id->bInterfaceProtocol == UIPROTO_MOUSE)
ret = UMATCH_IFACECLASS;
OpenPOWER on IntegriCloud