Date: Sun, 12 Dec 2004 17:32:57 -0800 From: Julian Elischer <julian@elischer.org> To: Ian Dowse <iedowse@maths.tcd.ie> Cc: Julian Elischer <julian@FreeBSD.org> Subject: Re: cvs commit: src/sys/sys mouse.h src/sys/dev/usb ums.c usbhid.h Message-ID: <41BCF149.3090801@elischer.org> In-Reply-To: <41BCDE4D.3020902@elischer.org> References: <200412121411.aa89799@salmon.maths.tcd.ie> <41BCDE4D.3020902@elischer.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Julian Elischer wrote: > Ian Dowse wrote: >> >> As pointed out in the PR though, it doesn't seem necessary to change >> struct mousestatus and the MOUSE_GETSTATUS ioctl API just to make >> the device work. All other mouse drivers in the tree will need to >> be updated to initialise the new `dt' field. ok that is changed back. >> There's also one part >> of the patch that looks as if it could easily break other devices: >> >> ibuf = sc->sc_ibuf; >> if (sc->sc_iid) { >> - if (*ibuf++ != sc->sc_iid) >> - return; >> + ibuf++; >> } >> >> + /* The M$ Wireless Intellimouse 2.0 sends 1 extra leading byte of >> + * data compared to most USB mice. This byte frequently switches >> + * from 0x01 (usual state) to 0x02. I assume it is to allow >> + * extra, non-standard, reporting (say battery-life). However >> + * at the same time it generates a left-click message on the button >> + * byte which causes spurious left-click's where there shouldn't be. >> + * This should sort that. */ >> + if ((sc->sc_ibuf != ibuf) && (sc->sc_ibuf[0] == 0x02)) + >> return; >> + >> dx = hid_get_data(ibuf, &sc->sc_loc_x); >> dy = -hid_get_data(ibuf, &sc->sc_loc_y); >> dz = -hid_get_data(ibuf, &sc->sc_loc_z); I'm looking at this.. will treat it separatly from the ABI question.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41BCF149.3090801>