Keyboard problem with new MacBook Pro.

Hans Petter Selasky hselasky at c2i.net
Sun Apr 25 07:53:54 UTC 2010


On Sunday 25 April 2010 09:30:12 Peter Ankerstål wrote:
> Hi,
> 
> I have the newly released macbook pro 13" (7,1). (swedish keyboard) And it
>  seems that I have some problem with the USB-keyboard driver. The keyboard
>  seems to work more or less in the boot meny, I can type and so on. But
>  when the system is booted the keyboard dosent work. It seems like ctrl is
>  constantly pressed or something like that. Nothing that I've done gives me
>  normal characters on screen. Its the FreeBSD 7.3 amd64 version i have
>  installed btw. (8.0 or 9.0 freeezes during boot due to some acpi-problem
>  http://wiki.freebsd.org/AppleMacbook#head-083ebc072fcd20e07a74a11565fc41af
> b2ca099b)
> 
> I have got the keyboard to partially work when using the fixit cd. If I
>  choose US UNIX keymap first and then switch to some other keymap, say US
>  ISO och Swedish ISO it works to type but shift, ctrl and so on doesnt
>  work.

Hi,

In 8-stable and 9-current, we have made several patches in the USB keyboard 
area for Apple Keyboards, like supporting the eject key, swapping keys, etc.

Regaring the boot issue with Mac, I think it can be solved by adding a quirk 
in the kernel:

amd64/machdep.c:                if (strncmp(sysenv, "MacBook1,1", 10) == 0 ||
amd64/machdep.c:                    strncmp(sysenv, "MacBook3,1", 10) == 0 ||
amd64/machdep.c:                    strncmp(sysenv, "MacBookPro1,1", 13) == 0 
||
amd64/machdep.c:                    strncmp(sysenv, "MacBookPro1,2", 13) == 0 
||
amd64/machdep.c:                    strncmp(sysenv, "MacBookPro3,1", 13) == 0 
||
amd64/pmap.c:                   if (strncmp(sysenv, "MacBook5,1", 10) == 0 ||
amd64/pmap.c:                       strncmp(sysenv, "MacBookPro5,5", 13) == 0 
||

Similar for i386.

Could you print out your sysenv during boot and try adding your MacBook to the 
quirk list?

--HPS


More information about the freebsd-usb mailing list