diff options
Diffstat (limited to 'abs/core/acpid/handler.sh')
-rw-r--r-- | abs/core/acpid/handler.sh | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/abs/core/acpid/handler.sh b/abs/core/acpid/handler.sh new file mode 100644 index 0000000..b5a548f --- /dev/null +++ b/abs/core/acpid/handler.sh @@ -0,0 +1,86 @@ +#!/bin/sh +# Default acpi script that takes an entry for all actions + +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) + case "$2" in + PBTN|PWRF) + logger "PowerButton pressed: $2" + poweroff + ;; + *) + logger "ACPI action undefined: $2" + ;; + esac + ;; + button/sleep) + case "$2" in + SLPB|SBTN) + echo -n mem >/sys/power/state + ;; + *) + logger "ACPI action undefined: $2" + ;; + esac + ;; + ac_adapter) + case "$2" in + AC|ACAD|ADP0) + 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) + logger 'Battery online' + ;; + 00000001) + logger 'Battery offline' + ;; + esac + ;; + CPU0) + ;; + *) logger "ACPI action undefined: $2" ;; + esac + ;; + button/lid) + case "$3" in + close) + logger 'LID closed' + ;; + open) + logger 'LID opened' + ;; + *) + logger "ACPI action undefined: $3" + ;; + esac + ;; + *) + logger "ACPI group/action undefined: $1 / $2" + ;; +esac + +# vim:set ts=4 sw=4 ft=sh et: |