EEE-PC 4G user event handling


A regular Linux distribution lacks full support of the Fn-Keys of the EEE-PC. I did this piece of software to correct this and add support to:

  • Sound keys (Fn-F6 to F8);
  • Internal/external display switching (Fn-F5);
  • Display battery/AC adapter events.

It was succefully tested on EEE-PC 4G with Mandriva 2009 LXDE but it should work with other distribution.


To install it, unpack every thing.

# tar xvfz eee_acpi-1.1.tgz

Copy executable to /usr/local/bin

# cp eee_acpi-1.0/eee_acpi /usr/local/bin

Create $HOME/.config/autostart/eee_acpi.desktop

[Desktop Entry]
Comment=EEE ACPI user events handling

Restart X11.

How it works

eee_acpi connects to the /var/run/acpid.socket socket and monitor it for incoming events. It trigger a specific processing for these events:

  • hotkey ATKD 00000013 : MUTE
  • hotkey ATKD 00000014 : VOLUME DOWN
  • hotkey ATKD 00000015 : VOLUME UP
  • hotkey ATKD 00000050 : AC ADAPTER ON
  • hotkey ATKD 00000051 : AC ADAPTER OFF
  • hotkey ATKD 00000030 : DISPLAY SWITCHING
  • battery BAT0 00000080 : BATTERY

Sound control is done through amixer with commands like:

amixer -c 0 set Master 6+

Display switching is done through xrandr with commands like:

xrandr --output VGA --off --output LVDS --auto

Notification is done through notify-send commands:

notify-send -i sound_section -t 500 "Sound control" "Mute"

5 Responses to EEE-PC 4G user event handling

  1. Pingback: Blog sur l’EEE PC » Gestion des événements ACPI

  2. Pingback: Blog L’Ordikc » Mandriva 2009 All in one kit for EEE-PC 4G

  3. Dee Lanier says:

    Does this work with eee 900 or 901? I have Mandriva with lxde, and love it except for the lack of Fn F7-9 control

  4. lordikc says:

    You can give it a try.
    Just launch it as a standard user and see what happen.

  5. DaveQB says:

    Awesome!! You are a bloody legend mate!!!!! So glad I found this. The lack of the Display change button on all other distros has made me keep Xandros on my 701….until now

    Thank you!!

    This should be rolled into an RPM and put into plf repos atleast.

    I am willing to give it a shot.