Purpose of thread
I'm writing this thread up with some basic info for those who like me want to understand how our Asus EeePC function keys don't work in OS X. I also want to show you what you can do to get some to work.
Introduction & Background
I'll keep this short. When a function key is pressed it sends what is called an "Event" in your BIOS. Your BIOS is listening for events with what's called "Interrupt Handlers". An interrupt handler is basically a bit of code that will react to the event. Most of the function key interrupt handlers for Asus EeePC's call a set of defined procedures/methods/functions. The issue is that our interrupt handler can't communicate properly with the defined procedures/methods/functions.
This is where the issue lies. It trickles through several functions being evaluated along the way before it gets to the destination procedure/method/function that will perform the required action.
i.e.
Backlight Function Key Pressed
|
\/
Triggers Event
|
\/
Interrupt Handler reacts and relays event onwards (minor processing sometimes)
|
\/
The Event is evaluated through several methods
|
\/
Doesn't reach the Backlight method that performs the action
pentiumpc who has pioneered the way for us to better understanding the Asus EeePC's ACPI/DSDT worked out that a simple way to get around this issue was to get the interrupt handlers to call a custom procedure/function/method of his which would contain the code calling the actual required methods to perform the action.
i.e.
Backlight Function Key Pressed
|
\/
Triggers Event
|
\/
Interrupt Handler reacts and will call our custom method
|
\/
Custom Method calls the hardware action methods required
|
\/
The Backlight hardware method then performs the required hardware action
|
\/
Backlight Switches on/off
It will be this technique that I will show you how to use. You can only go so far with this technique and there are some little quirks along the way but it will definitely give you better usage of your hotkeys.
What can be achieved
Function Keys
FN + F1 - Sleep
FN + F2 - Bluetooth On/Off
FN + F3 - N/A
FN + F4 - N/A
FN + F5 - Brightness Down
FN + F6 - Brightness Up
FN + F7 - Backlight On/Off
FN + F8 - Switch Display mode (Quirky/Messy)
FN + F9 - Not Working
FN + F10 - Not Working
FN + F11 - Not Working
FN + F12 - Not Working
Silver buttons
Silver Button [x] - Backlight On/Off
Silver Button [+] - Camera On/Off
Silver Button [*] - 3G On/Off (Untested)
Silver Button [*] - Spare
Guides
Coming soon…