Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Jul 2007 13:59:14 GMT
From:      Rui Paulo <rpaulo@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 124012 for review
Message-ID:  <200707241359.l6ODxE93047104@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=124012

Change 124012 by rpaulo@rpaulo_epsilon on 2007/07/24 13:59:10

	Don't depend on a quirk to detect Apple keyboards with the
	Fn key.

Affected files ...

.. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ukbd.c#10 edit
.. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usb_quirks.c#10 edit
.. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usb_quirks.h#9 edit

Differences ...

==== //depot/projects/soc2007/rpaulo-macbook/dev/usb/ukbd.c#10 (text+ko) ====

@@ -201,23 +201,20 @@
 	/*
 	 * Locate the Fn key on Apple keyboards.
 	 */
-	if (usbd_get_quirks(uaa->device)->uq_flags & UQ_KBD_FNKEY) {
-		err = usbd_read_report_desc(uaa->iface, &desc, &size, M_TEMP);
-		if (err) {
-			device_printf(self,
-			    "could not read report descriptor\n");
-			return ENXIO;
-		}
+	err = usbd_read_report_desc(uaa->iface, &desc, &size, M_TEMP);
+	if (err) {
+		device_printf(self, "could not read report descriptor\n");
+		return ENXIO;
+	}
 
-		if (hid_locate(desc, size, HID_USAGE2(HUP_CUSTOM, HUC_FNKEY),
-			       hid_input, &sc->sc_loc_fn, &flags)) {
-			device_printf(self, "Fn key.\n");
-			sc->sc_flags |= UKBD_FN;
-		} else
-			device_printf(self, "Fn key not found.\n");
-		free(desc, M_TEMP);
+	if (hid_locate(desc, size, HID_USAGE2(HUP_CUSTOM, HUC_FNKEY),
+		hid_input, &sc->sc_loc_fn, &flags)) {
+		device_printf(self, "Fn key.\n");
+		sc->sc_flags |= UKBD_FN;
 	}
 
+	free(desc, M_TEMP);
+
 	arg[0] = (void *)uaa;
 	arg[1] = (void *)ukbd_intr;
 	kbd = NULL;

==== //depot/projects/soc2007/rpaulo-macbook/dev/usb/usb_quirks.c#10 (text+ko) ====

@@ -110,10 +110,7 @@
 	ANY, { UQ_KBD_IGNORE }},
  { USB_VENDOR_METAGEEK, USB_PRODUCT_METAGEEK_WISPYX,
 	ANY, { UQ_KBD_IGNORE }},
- /* Devices that need special handling of the Fn key */
- { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_INTKBTP,
-	ANY, { UQ_KBD_FNKEY } },
-
+ /* XXX: temporary */
  { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_BLUETOOTH_HID,
 	ANY, { UQ_MS_IGNORE } },
 

==== //depot/projects/soc2007/rpaulo-macbook/dev/usb/usb_quirks.h#9 (text+ko) ====

@@ -57,7 +57,6 @@
 #define UQ_KBD_IGNORE	0x00018000 /* device should be ignored by both kbd and hid class */
 #define	UQ_MS_BAD_CLASS 0x00020000 /* doesn't identify properly */
 #define	UQ_MS_LEADING_BYTE 0x40000 /* mouse sends an unknown leading byte. */
-#define UQ_KBD_FNKEY	0x00080000 /* device needs special handling for the Fn key */
 #define UQ_MS_IGNORE	0x00100000 /* device should be ignored by ums */
 };
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200707241359.l6ODxE93047104>