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