cvs commit: src/sys/dev/usb ums.c

Nate Lawson nate at root.org
Fri Dec 30 01:35:11 PST 2005


Alexander Leidinger wrote:
> On Thu, 29 Dec 2005 11:26:21 -0800
> Nate Lawson <nate at root.org> wrote:
> 
> 
>>>Index: src/sys/dev/usb/ums.c
>>>diff -u src/sys/dev/usb/ums.c:1.79 src/sys/dev/usb/ums.c:1.80
>>>--- src/sys/dev/usb/ums.c:1.79	Thu Dec 29 17:44:40 2005
>>>+++ src/sys/dev/usb/ums.c	Thu Dec 29 18:35:28 2005
>>>@@ -425,7 +425,7 @@
>>> 	struct ums_softc *sc = addr;
>>> 	u_char *ibuf;
>>> 	int dx, dy, dz, dt;
>>>-	u_char buttons = 0;
>>>+	int buttons = 0;
>>> 	int i;
>>> 
>>> #define UMS_BUT(i) ((i) < 3 ? (((i) + 2) % 3) : (i))
>>
>>I think the UMS_BUT macro operates on only 2 bits.  Are you sure that's 
>>still right?
> 
> 
> The UMS_BUT macro in NetBSD is different, but I don't know if this is
> because of the uhidevs changes (which we don't have) or not. The change
> in NetBSD only changed the MAX_BUTTONS define, not the UMS_BUT macro.
> 
> I also don't see where it only operates on 2 bits (BTW.: MAX_BUTTONS was
> changed from decimal 7 to decimal 31)... if I rewrite it as a function
> it looks like:
> 	int ums_but(int i) {
> 		if (i < 3) {
> 			return (i + 2) % 3;
> 		} else {
> 			return i;
> 		}
> 	}
> Or did I miscounted the parenthesis?

I meant that this maps 0:2, 1:0, 2:1, 3:3, 4:4, ...  Or in other words, 
it only operates on 2-bit values (0-3).  I don't know if that's an issue 
or not, I just was wondering if that also needed to be expanded.

-- 
Nate


More information about the cvs-all mailing list