ACPI events handler.
#!/bin/sh # Default acpi script that takes an entry for all actions # NOTE: This is a 2.6-centric script. If you use 2.4.x, you'll have to # modify it to not use /sys minspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq` maxspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq` setspeed="/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed" set $* case "$1" in button/power) #echo "PowerButton pressed!">/dev/tty5 case "$2" in PWRF) logger "PowerButton pressed: $2" ;; *) logger "ACPI action undefined: $2" ;; esac ;; button/sleep) case "$2" in SLPB) echo -n mem >/sys/power/state ;; *) logger "ACPI action undefined: $2" ;; esac ;; ac_adapter) case "$2" in AC) case "$4" in 00000000) echo -n $minspeed >$setspeed #/etc/laptop-mode/laptop-mode start ;; 00000001) echo -n $maxspeed >$setspeed #/etc/laptop-mode/laptop-mode stop ;; esac ;; *) logger "ACPI action undefined: $2" ;; esac ;; battery) case "$2" in BAT0) case "$4" in 00000000) #echo "offline" >/dev/tty5 ;; 00000001) #echo "online" >/dev/tty5 #/usr/sbin/set_battery_thresholds ;; esac ;; CPU0) ;; *) logger "ACPI action undefined: $2" ;; esac ;; button/lid) #echo "LID switched!">/dev/tty5 ;; ibm/hotkey) logger "IBM/Hotkey: $1:$2:$3:$4:$5" case "$4" in 00001002) logger "lock" ;; 00001003) logger "battery" ;; 00001004) logger "sleep" /usr/sbin/pm-suspend ;; 00001005) logger "wifi" ifconfig wlan0 up ;; 0000100c) logger "hibernate" /usr/sbin/pm-hibernate ;; esac ;; *) logger "ACPI group/action undefined: $1 / $2" ;; esac