svn commit: r215495 - stable/8/sys/dev/usb/input

Andrew Thompson thompsa at FreeBSD.org
Fri Nov 19 01:44:14 UTC 2010


Author: thompsa
Date: Fri Nov 19 01:44:13 2010
New Revision: 215495
URL: http://svn.freebsd.org/changeset/base/215495

Log:
  MFC r212129
  
   Add support for extra buttons on the Kensington Slimblade Trackball.

Modified:
  stable/8/sys/dev/usb/input/ums.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)

Modified: stable/8/sys/dev/usb/input/ums.c
==============================================================================
--- stable/8/sys/dev/usb/input/ums.c	Fri Nov 19 01:43:08 2010	(r215494)
+++ stable/8/sys/dev/usb/input/ums.c	Fri Nov 19 01:44:13 2010	(r215495)
@@ -406,6 +406,7 @@ ums_hid_parse(struct ums_softc *sc, devi
 	struct ums_info *info = &sc->sc_info[index];
 	uint32_t flags;
 	uint8_t i;
+	uint8_t j;
 
 	if (hid_locate(buf, len, HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_X),
 	    hid_input, index, &info->sc_loc_x, &flags, &info->sc_iid_x)) {
@@ -483,6 +484,17 @@ ums_hid_parse(struct ums_softc *sc, devi
 			break;
 		}
 	}
+
+	/* detect other buttons */
+
+	for (j = 0; (i < UMS_BUTTONS_MAX) && (j < 2); i++, j++) {
+		if (!hid_locate(buf, len, HID_USAGE2(HUP_MICROSOFT, (j + 1)),
+		    hid_input, index, &info->sc_loc_btn[i], NULL, 
+		    &info->sc_iid_btn[i])) {
+			break;
+		}
+	}
+
 	info->sc_buttons = i;
 
 	if (i > sc->sc_buttons)


More information about the svn-src-stable mailing list