Short description (so that it is still available for me ;) ):
- Pair with (each) Linux
- Pair with Windows
- Extract authentication key from Windows from windows registry (stored in Windows/System32/config/system) using libhivex-bin
hivexml system | perl -ane 's/</\n</g; print' | grep -i 'key="YOUR BLUETOOTH ID WITHOUT : "' - Decode the content of xml-entity with Base64
- Replace Linux authentication key with the extracteted version Linux /var/lib/bluetooth/RECEIVERID/linkkeys
- Restart Bluetooth service
sudo service bluetooth restart
I can confirm that this works using Ubuntu 12.10 and Windows 8 with a Apple Wireless Keyboard.
Alternative solution without authentication (I WOULD NOT RECOMMEND THIS FOR A KEYBOARD) can be found here.
UPDATE: Still works with 13.04