summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/usb/ums.c20
-rw-r--r--sys/dev/usb/usbdevs1
2 files changed, 21 insertions, 0 deletions
diff --git a/sys/dev/usb/ums.c b/sys/dev/usb/ums.c
index 73bb120..0150a6f 100644
--- a/sys/dev/usb/ums.c
+++ b/sys/dev/usb/ums.c
@@ -387,6 +387,26 @@ ums_attach(device_t self)
sc->sc_loc_btn[2].pos = 10;
}
+ /*
+ * The Microsoft Wireless Notebook Optical Mouse 3000 Model 1049 has
+ * five Report IDs: 19 23 24 17 18 (in the order they appear in report
+ * descriptor), it seems that report id 17 contains the necessary
+ * mouse information(3-buttons,X,Y,wheel) so we specify it manually.
+ */
+ if (uaa->vendor == USB_VENDOR_MICROSOFT &&
+ uaa->product == USB_PRODUCT_MICROSOFT_WLNOTEBOOK3) {
+ sc->flags = UMS_Z;
+ sc->nbuttons = 3;
+ sc->sc_isize = 5;
+ sc->sc_iid = 17;
+ sc->sc_loc_x.pos = 8;
+ sc->sc_loc_y.pos = 16;
+ sc->sc_loc_z.pos = 24;
+ sc->sc_loc_btn[0].pos = 0;
+ sc->sc_loc_btn[1].pos = 1;
+ sc->sc_loc_btn[2].pos = 2;
+ }
+
sc->sc_ep_addr = ed->bEndpointAddress;
sc->sc_disconnected = 0;
free(desc, M_TEMP);
diff --git a/sys/dev/usb/usbdevs b/sys/dev/usb/usbdevs
index 824e7db..980b109 100644
--- a/sys/dev/usb/usbdevs
+++ b/sys/dev/usb/usbdevs
@@ -1664,6 +1664,7 @@ product MICROSOFT MN110 0x007a 10/100 USB NIC
product MICROSOFT WLINTELLIMOUSE 0x008c Wireless Optical IntelliMouse
product MICROSOFT WLNOTEBOOK 0x00b9 Wireless Optical Mouse (Model 1023)
product MICROSOFT WLNOTEBOOK2 0x00e1 Wireless Optical Mouse 3000 (Model 1056)
+product MICROSOFT WLNOTEBOOK3 0x00d2 Wireless Optical Mouse 3000 (Model 1049)
product MICROSOFT WLUSBMOUSE 0x00b9 Wireless USB Mouse
product MICROSOFT XBOX360 0x0292 XBOX 360 WLAN
OpenPOWER on IntegriCloud