Date: Tue, 2 Mar 2010 07:59:18 GMT From: Steven Noonan <steven@uplinklabs.net> To: freebsd-gnats-submit@FreeBSD.org Subject: usb/144414: Apple "Fn" key doesn't work properly Message-ID: <201003020759.o227xItm073609@www.freebsd.org> Resent-Message-ID: <201003020800.o22804rB020396@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 144414 >Category: usb >Synopsis: Apple "Fn" key doesn't work properly >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-usb >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Mar 02 08:00:04 UTC 2010 >Closed-Date: >Last-Modified: >Originator: Steven Noonan >Release: 8.0-RELEASE-p2 >Organization: >Environment: FreeBSD alcarin.uplinklabs.net 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #0: Tue Jan 5 21:11:58 UTC 2010 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 >Description: I've got an Apple MacBookPro2,2 and the "Fn" key doesn't seem to do anything it is supposed to. Fn+Left Arrow should do "Home", Fn+Right Arrow should be "End", etc. I checked the USB keyboard driver (ukbd.c), and it looks like the Apple function key is implemented (UKBD_FLAG_APPLE_FN), but I can't get it to work on my machine. >From dmesg: ugen0.2: <Apple Computer> at usbus0 ukbd0: <Apple Internal Keyboard> on usbus0 kbd2 at ukbd0 The HID descriptor for the device: alcarin usb # usbconfig -u 0 -a 2 do_request 0x81 0x06 0x2200 0 0x1000 REQUEST = <0x05 0x01 0x09 0x06 0xa1 0x01 0x05 0x07 0x19 0xe0 0x29 0xe7 0x15 0x00 0x25 0x01 0x75 0x01 0x95 0x08 0x81 0x02 0x95 0x01 0x75 0x08 0x81 0x01 0x95 0x05 0x75 0x01 0x05 0x08 0x19 0x01 0x29 0x05 0x91 0x02 0x95 0x01 0x75 0x03 0x91 0x01 0x95 0x05 0x75 0x08 0x15 0x00 0x25 0x65 0x05 0x07 0x19 0x00 0x29 0x65 0x81 0x00 0x05 0xff 0x09 0x03 0x75 0x08 0x95 0x01 0x81 0x02 0xc0><)%uuu)uu%e)eu> I tried setting hw.usb.ukbd.debug=1, and it looks like "apple_fn" is never '1'. For instance (typing Fn+Backspace, which should become 'Delete'): ukbd_intr_callback:547: actlen=8 bytes ukbd_intr_callback:590: apple_eject=0 apple_fn=0 ukbd_intr_callback:597: [5] = 1 ukbd_put_key:312: 0x01 (1) pressed ukbd_intr_callback:547: actlen=8 bytes ukbd_intr_callback:590: apple_eject=0 apple_fn=0 ukbd_intr_callback:597: [0] = 42 ukbd_intr_callback:597: [5] = 1 ukbd_put_key:312: 0x2a (42) pressed ukbd_intr_callback:547: actlen=8 bytes ukbd_intr_callback:590: apple_eject=0 apple_fn=0 ukbd_intr_callback:597: [5] = 1 ukbd_put_key:312: 0x42a (1066) released ukbd_intr_callback:547: actlen=8 bytes ukbd_intr_callback:590: apple_eject=0 apple_fn=0 ukbd_put_key:312: 0x401 (1025) released Any thoughts? >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201003020759.o227xItm073609>