From owner-freebsd-usb@FreeBSD.ORG Sat Mar 14 08:30:56 2009 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5341A106566B for ; Sat, 14 Mar 2009 08:30:56 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe16.swip.net [212.247.155.225]) by mx1.freebsd.org (Postfix) with ESMTP id AE3118FC12 for ; Sat, 14 Mar 2009 08:30:55 +0000 (UTC) (envelope-from hselasky@c2i.net) X-Cloudmark-Score: 0.000000 [] X-Cloudmark-Analysis: v=1.0 c=1 a=93AayTmb9UcA:10 a=AcdjiWDHAAAA:8 a=v500imFIFI8JHvQl_W0A:9 a=H0qRVy30j994-HV1DQAA:7 a=d6tZGYOscv3neycaYXoLga8W_1sA:4 a=LY0hPdMaydYA:10 Received: from [193.217.167.198] (account mc467741@c2i.net HELO [10.0.0.188]) by mailfe16.swip.net (CommuniGate Pro SMTP 5.2.6) with ESMTPA id 466138670; Sat, 14 Mar 2009 09:30:53 +0100 From: Hans Petter Selasky To: freebsd-usb@freebsd.org Date: Sat, 14 Mar 2009 09:33:23 +0100 User-Agent: KMail/1.9.7 References: <200903140114.22511.man@email.com.ua> In-Reply-To: <200903140114.22511.man@email.com.ua> MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200903140933.24547.hselasky@c2i.net> Cc: Subject: Re: support for logitech mx610 mouse X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Mar 2009 08:30:56 -0000 On Saturday 14 March 2009, man@email.com.ua wrote: > Hi. > I have logitech mx610. This mouse have a lot of buttons, but not all of > this buttons work (volume control, mail, im and tilt wheel). > > ums0: on usbus0 > ums0: 16 buttons and [XYZ] coordinates > > kldunload ums > kldunload uhid > kldload uhid > > uhid0: on usbus0 > uhid1: on usbus0 > > usbhidctl -f /dev/uhid0 -ar > Report descriptor: > Collection page=Generic_Desktop usage=Mouse > Collection page=Generic_Desktop usage=Pointer > Input size=1 count=1 page=Button usage=Button_1, logical range 0..1 > Input size=1 count=1 page=Button usage=Button_2, logical range 0..1 > Input size=1 count=1 page=Button usage=Button_3, logical range 0..1 > Input size=1 count=1 page=Button usage=Button_4, logical range 0..1 > Input size=1 count=1 page=Button usage=Button_5, logical range 0..1 > Input size=1 count=1 page=Button usage=Button_6, logical range 0..1 > Input size=1 count=1 page=Button usage=Button_7, logical range 0..1 > Input size=1 count=1 page=Button usage=Button_8, logical range 0..1 > Input size=1 count=1 page=Button usage=Button_9, logical range 0..1 > Input size=1 count=1 page=Button usage=Button_10, logical range 0..1 > Input size=1 count=1 page=Button usage=Button_11, logical range 0..1 > Input size=1 count=1 page=Button usage=Button_12, logical range 0..1 > Input size=1 count=1 page=Button usage=Button_13, logical range 0..1 > Input size=1 count=1 page=Button usage=Button_14, logical range 0..1 > Input size=1 count=1 page=Button usage=Button_15, logical range 0..1 > Input size=1 count=1 page=Button usage=Button_16, logical range 0..1 > Input size=12 count=1 page=Generic_Desktop usage=X, logical range > -2047..2047 Input size=12 count=1 page=Generic_Desktop usage=Y, logical > range -2047..2047 Input size=8 count=1 page=Generic_Desktop usage=Wheel, > logical range -127..127 Input size=8 count=1 page=Consumer usage=AC_Pan, > logical range -127..127 End collection > End collection > Total input size 7 bytes > Total output size 0 bytes > Total feature size 0 bytes > usbhidctl: USB_SET_IMMED: Device not configured > > usbhidctl -f /dev/uhid1 -ar > Report descriptor: > Total input size 0 bytes > Total output size 0 bytes > Total feature size 0 bytes > usbhidctl: USB_SET_IMMED: Device not configured > > usbconfig -u 0 -a 2 do_request 0x81 0x06 0x2200 1 0x100 > REQUEST = <0x05 0x0c 0x09 0x01 0xa1 0x01 0x85 0x03 0x75 0x10 0x95 0x02 0x15 > 0x01 0x26 0x8c 0x02 0x19 0x01 0x2a 0x8c 0x02 0x81 0x60 0xc0 0x06 0x00 0xff > 0x09 0x01 0xa1 0x01 0x85 0x10 0x75 0x08 0x95 0x06 0x15 0x00 0x26 0xff 0x00 > 0x09 0x01 0x81 0x00 0x09 0x01 0x91 0x00 0xc0 0x06 0x00 0xff 0x09 0x02 0xa1 > 0x01 0x85 0x11 0x75 0x08 0x95 0x13 0x15 0x00 0x26 0xff 0x00 0x09 0x02 0x81 > 0x00 0x09 0x02 0x91 0x00 0xc0> > > > I see from this report, what tilt wheel is defined as AC_Pan (expected > button) - this is not supported by Xorg. Can I remap this? You can re-map in /sys/dev/usb/input/ums.c > All of the > additional buttons would have to determine at uhid1, but not decided. This > can be done? I need some samples of the data format, when you a) move mouse b) press buttons. Can you write a small C-program? f = open("/dev/uhid0", O_RDONLY); if (f < 0) return; uint8_t buf[256]; int len; while (1) { len = read(f, buf, sizeof(buf)); if (len < 0) break; } dump buf in HEX. --HPS > > Thanks in advance. > > You gave hope that the usb subsystem will be released at a high level of > implementation. IMHO your job - is a big step forward for support FreeBSD > at desktop.