Re: Logitech Mouseman Dual Optical defaults to 400cpi

Brad Hards
2002-06-09T08:10:05Z

On Sun, 9 Jun 2002 10:25, Chris Faherty wrote:
> On Saturday 08 June 2002 12:53 pm, Chris Faherty wrote:
> > I can't find any information on how to switch it into 800cpi mode.
>
> Well, I managed to figure it out today. Sending the special code to the
Was that using Snoopy?

> MouseMan Dual Optical turns it into 800cpi mode.. much better! Anyhow, I
> just put a test for this particular mouse in the hid_probe() and wrote the
> codes to the mouse. Not sure if that's the best place.
>
> This is for 2.2.20:
Any objections to me taking this to 2.4 and 2.5?

> --- hid.c-orig Sun Mar 25 11:37:37 2001
> +++ hid.c Sat Jun 8 17:55:02 2002
> @@ -1523,6 +1523,19 @@
>
> printk(" on usb%d:%d.%d\n", dev->bus->busnum, dev->devnum, ifnum);
>
> +#define USB_VENDOR_ID_LOGITECH 0x046d
> +#define USB_DEVICE_ID_LOGITECH_DOPTICAL 0xc012
> + if ((hid->dev->descriptor.idVendor == USB_VENDOR_ID_LOGITECH) &&
> + (hid->dev->descriptor.idProduct ==
> USB_DEVICE_ID_LOGITECH_DOPTICAL)) {
> + printk("Setting Logitech MouseMan Dual Optical for 800cpi\n");
> + usb_control_msg(hid->dev, usb_sndctrlpipe(hid->dev, 0),
> + 0x0a, USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_ENDPOINT,
> + 0x0000, 0x0000, NULL, 0, HZ);
> + usb_control_msg(hid->dev, usb_sndctrlpipe(hid->dev, 0),
> + 0x02, USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_ENDPOINT,
> + 0x000e, 0x0004, NULL, 0, HZ);
> + }
> +
> return hid;
> }
This could have been handled by a blacklist table quirk. Any reason why you
chose to do it this way?

Brad

--
http://conf.linux.org.au. 22-25Jan2003. Perth, Australia. Birds in Black.