Alexander Leidinger wrote:
On Thu, 29 Dec 2005 11:26:21 -0800
Nate Lawson <[EMAIL PROTECTED]> 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
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to