Re: USB mouse protocol,

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 30, 2008 at 04:07:06PM +0200, xerces8 wrote:
> Vojtech Pavlik wrote:
> 
> > On Wed, Apr 30, 2008 at 11:28:59AM +0200, xerces8 wrote:
> > > Hi!
> > > 
> > > I'm curious about some details in the protocol used by USB mice.
> > > A cursory look at the "Device Class Definition for HID 1.11" documents
> > > tells me (note this is the first USB technical document I ever read)
> > > that a mouse can tell the host the format (the protocol) used to report
> > > data (movement, button state etc.).
> > > 
> > > Also a quick look into linuxv2.6.25/drivers/hid/usbhid/usbmouse.c suggests
> > > that 8 bits are used for position.
> > > 
> > > So my questions are:
> > >  - is the position data always 8 bits wide ?
> > 
> > No. The driver you need to look at is usbhid.ko, not usbmouse - that
> > only works for the static "HID Boot Protocol", and is only useful in
> > embedded devices.
> 
> Pretty hard to read there... Can I activate some debug output, to see what
> my mouse is sending ?

Yes, #define DEBUG and possibly also DEBUG_DATA will do the trick.

> 
> > >  - when are reports sent ? Are they polled by host ? Or sent by the device
> > > on its own ?
> > 
> > That depends on how you look at it. The host controller polls the device
> > at a specified rate - typically 100Hz, but the device decides whether it
> > will or won't send a report when polled.
> 
> 100Hz is the linux default ? Is there an USB standard value ?

100Hz is what mice normally ask for. The frequency is in the endpoint
descriptor provided by the mouse.

-- 
Vojtech Pavlik
Director SuSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux