From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Sun, 9 Jun 2002 04:10:05 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Sun, 9 Jun 2002 04:10:04 -0400 Received: from mta06ps.bigpond.com ([144.135.25.138]:49119 "EHLO mta06ps.bigpond.com") by vger.kernel.org with ESMTP id ; Sun, 9 Jun 2002 04:10:03 -0400 From: Brad Hards To: Chris Faherty , Subject: Re: Logitech Mouseman Dual Optical defaults to 400cpi Date: Sun, 9 Jun 2002 18:07:11 +1000 User-Agent: KMail/1.4.5 In-Reply-To: <20020608165243Z317422-22020+923@vger.kernel.org> <20020609002448Z317485-22020+1014@vger.kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7BIT Content-Disposition: inline Message-Id: <200206091807.11524.bhards@bigpond.net.au> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org 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.