97 lines
2.8 KiB
Bash
97 lines
2.8 KiB
Bash
#!/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
|
|
|
|
# $1 should be + or - to step up or down the brightness.
|
|
step_backlight() {
|
|
for backlight in /sys/class/backlight/*/; do
|
|
[ -d "$backlight" ] || continue
|
|
step=$(( $(cat "$backlight/max_brightness") / 20 ))
|
|
[ "$step" -gt "1" ] || step=1 #fallback if gradation is too low
|
|
printf '%s' "$(( $(cat "$backlight/brightness") $1 step ))" >"$backlight/brightness"
|
|
done
|
|
}
|
|
|
|
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"
|
|
|
|
|
|
case "$1" in
|
|
button/power)
|
|
case "$2" in
|
|
PBTN|PWRF)
|
|
logger "PowerButton pressed: $2, shutting down..."
|
|
shutdown -P now
|
|
;;
|
|
*) logger "ACPI action undefined: $2" ;;
|
|
esac
|
|
;;
|
|
button/sleep)
|
|
case "$2" in
|
|
SBTN|SLPB)
|
|
# suspend-to-ram
|
|
logger "Sleep Button pressed: $2, suspending..."
|
|
zzz
|
|
;;
|
|
*) logger "ACPI action undefined: $2" ;;
|
|
esac
|
|
;;
|
|
ac_adapter)
|
|
case "$2" in
|
|
AC|ACAD|ADP0)
|
|
case "$4" in
|
|
00000000)
|
|
printf '%s' "$minspeed" >"$setspeed"
|
|
#/etc/laptop-mode/laptop-mode start
|
|
;;
|
|
00000001)
|
|
printf '%s' "$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
|
|
;;
|
|
esac
|
|
;;
|
|
CPU0)
|
|
;;
|
|
*) logger "ACPI action undefined: $2" ;;
|
|
esac
|
|
;;
|
|
button/lid)
|
|
case "$3" in
|
|
close)
|
|
# suspend-to-ram
|
|
logger "LID closed, suspending..."
|
|
zzz
|
|
;;
|
|
open)
|
|
logger "LID opened"
|
|
;;
|
|
*) logger "ACPI action undefined (LID): $2";;
|
|
esac
|
|
;;
|
|
video/brightnessdown)
|
|
step_backlight -
|
|
;;
|
|
video/brightnessup)
|
|
step_backlight +
|
|
;;
|
|
*)
|
|
logger "ACPI group/action undefined: $1 / $2"
|
|
;;
|
|
esac
|