PERFORCE change 175283 for review
Hans Petter Selasky
hselasky at FreeBSD.org
Tue Mar 2 22:27:50 UTC 2010
http://p4web.freebsd.org/chv.cgi?CH=175283
Change 175283 by hselasky at hselasky_laptop001 on 2010/03/02 22:27:23
USB input:
- extend search for Apple Function Key.
- patch by: HPS @
PR: usb/144414
Affected files ...
.. //depot/projects/usb/src/sys/dev/usb/input/ukbd.c#45 edit
Differences ...
==== //depot/projects/usb/src/sys/dev/usb/input/ukbd.c#45 (text+ko) ====
@@ -883,7 +883,7 @@
err = usbd_req_get_hid_desc(uaa->device, NULL, &hid_ptr,
&hid_len, M_TEMP, uaa->info.bIfaceIndex);
if (err == 0) {
- uint8_t temp_id;
+ uint8_t apple_keys = 0;
/* investigate if this is an Apple Keyboard */
if (hid_locate(hid_ptr, hid_len,
@@ -893,18 +893,20 @@
if (flags & HIO_VARIABLE)
sc->sc_flags |= UKBD_FLAG_APPLE_EJECT |
UKBD_FLAG_APPLE_SWAP;
- if (hid_locate(hid_ptr, hid_len,
- HID_USAGE2(0xFFFF, 0x0003),
- hid_input, 0, &sc->sc_loc_apple_fn, &flags,
- &temp_id)) {
- if (flags & HIO_VARIABLE)
- sc->sc_flags |= UKBD_FLAG_APPLE_FN |
- UKBD_FLAG_APPLE_SWAP;
- if (temp_id != sc->sc_kbd_id) {
- DPRINTF("HID IDs mismatch\n");
- }
- }
- } else {
+ DPRINTFN(1, "Found Apple eject-key\n");
+ apple_keys = 1;
+ }
+ if (hid_locate(hid_ptr, hid_len,
+ HID_USAGE2(0xFFFF, 0x0003),
+ hid_input, 0, &sc->sc_loc_apple_fn, &flags,
+ &sc->sc_kbd_id)) {
+ if (flags & HIO_VARIABLE)
+ sc->sc_flags |= UKBD_FLAG_APPLE_FN |
+ UKBD_FLAG_APPLE_SWAP;
+ DPRINTFN(1, "Found Apple FN-key\n");
+ apple_keys = 1;
+ }
+ if (apple_keys == 0) {
/*
* Assume the first HID ID contains the
* keyboard data
More information about the p4-projects
mailing list