After googling for two days straight, going carefully through all the advice on this thread and ressurecting my Windows system from near-Bootcamp veggiefication, I've decided to post the issues that I'm having in the hopes that someone might have better insight into my driver problems.
Objective: To get the proper drivers installed for my Apple Wired Keyboard (AWKB) so that I can register proper scancodes off of the Fn-button and all the other buttons using AutoHotkey (software that automates hotkeys).
Item 1: Wired Apple Keyboard with 2 USB ports and numpad, bought early September 2011 in Toronto area. For precise layout, see attachment 0.
Hardware ID: HID\VID_05AC&PID_024F&REV_0074&MI_00
Item 2: Windows 7 Home Edition x64, on a custom tower built July 2011.
1. First of all, when the keyboard is first plugged in, Win7 automatically assigns generic drivers to it. These you can see when you go to Start > Devices and Printers > Apple Keyboard > Hardware tab. The following six drivers are assigned to it: Generic USB Hub, HID Keyboard Device, HID-compliant consumer control device, USB Composite Device, USB Input Device and USB Input Device (see attachment 1). According to my research, all of them serve a different function to make the keyboard work:
Generic USB Hub - the controller for the dual USB connection
HID Keyboard Device - all the common keyboard buttons
HID-compliant consumer control device - special button, I think it is for the eject button
USB Composite Device - the whole thing is called a "composite device" as it has both a keyboard and USB input on it.
USB Input Device x2 - the ports for the two USB plugs on either side of the keyboard.
At this point, the keyboard works like a standard Windows keyboard with the following remarks:
- F13-F19 doesn't respond
- Eject button doesn't respond
- Fn button doesn't respond
- As a consequence of Fn's dysfunction, no media buttons work on the F keys
- Clear button is NumLock, which toggles numeric vs. arrow key functionality on the numpad.
2. The following logical thought was to try and get the proper drivers for it so it at least can register all the buttons as scancodes. I tried:
- Installing Bootcamp 2.0 > doesn't work well with Win7, and definitely not with x64 systems
- Installing Bootcamp 3.0, with only the AppleKeyboardInstaller64.exe > no results
- Installing Bootcamp 3.0, in full > tons of stuff is installed, but no proper drivers for the keyboard observed
- Tried installing later versions of BootCamp (BC) thinking my keyboard is so new the proper drivers aren't in BC3.0, but to no avail - after installing 3.0, BC updates refuse to run on my attempts.
3. Then I tried culling out the keyboard driver from the install, so I unzipped the contents of the AppleKeyboardInstaller64.exe file. I tried installing the drivers manually for the HID Keyboard Device in Device Manager, but it would never detect any compatible drivers in the BC folder, ever. Only the generic drivers were compatible, apparently.
4. I decided to dig deeper and went into the KeyMagic.inf file found inside the AppleKeyboardInstaller64.exe. I read up about what inf files were on this very informative site. Upon looking at the compatible devices that it would search for, the Hardware ID for my keyboard was NOT listed - so basically, all the previous BC installs never even tried installing keyboard drivers since it didn't detect any compatible Apple keyboards! Just to demonstrate what I mean:
My keyboard Hardware ID:
The highest Hardware ID value in the file (see the PID):
So being the risk-taker that I was, I edited the list of compatible hardwares and added my keyboard's hardware IDs to the list (see attachment 2). I highly don't recommend this, as it almost rendered my computer to a veggie. Bootcamp definitely force-installed the driver onto the keyboard, and upon reboot NO INPUT DEVICES were working once Windows had arrived to the logon screen. No keyboard, no mouse (especially sad about the mouse as it is the saving grace with the on-screen keyboard option). Luckily the keyboard DID work during BIOS, so I popped in my Win7 CD and launched Windows from the CD drive, and restored my computer to a previous point before the driver disaster. Phew.
5. So being back to square one, I was ready to give up and just use daonlyfreez's Autohotkey tutorial of remapping the Fn key, but instead using the F13 key as fn (because at least I got a scancode from it). But long story short, that too did not do much good as AutoHotkey keeps on not being able to read HID codes coming from the keyboard properly for some reason. To diagnose what scancodes his devices are giving, he uses the AutoHotkey HID-Support program that you can find on the tutorial website. The fellow describes that he got good scancode readings when he selected to listen to his Apple Bluetooth Keyboard as an "HID" device, while I can only get readings from my keyboard when selecting "KEYBOARD" (see attachment 3). This, I think, affects how I can record scancodes later in the game, as I can never get the correct scancodes to register in other AutoHotkey programs even when I can see them in the AutoHotkey HID-support program.
I'll continue pursuing the AutoHotkey option but as you can see from my long and sad story, I'm not far from where I began two days ago, and it's beginning to become extremely tiresome. Most ideally I would have liked to just get the good drivers for the keyboard once and for all, and this remains my primary objective.
Honestly, I think I got the only damn Apple keyboard on the planet that refuses to work no matter what. But I hope my writeup about my problems can help shed some more detailed light into the driver-situation in relation to Apple keyboards on Windows 7 x64. And of course, I hope someone out there can offer some constructive advice as to how I can realistically make the keyboard work for me, instead of me working for the keyboard!