[root@hermes acpi]# cat acpi-handler-vaio.diff --- handler.sh.old 2008-04-04 05:01:51.000000000 +0200 +++ handler.sh 2008-04-04 04:59:05.000000000 +0200 @@ -7,6 +7,7 @@ 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" +presbright=`cat /sys/class/backlight/sony/brightness` set $* @@ -18,29 +19,34 @@ *) 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) + ACAD) case "$4" in 00000000) echo -n $minspeed >$setspeed #/etc/laptop-mode/laptop-mode start + echo 2 > /sys/class/backlight/sony/brightness ;; 00000001) echo -n $maxspeed >$setspeed #/etc/laptop-mode/laptop-mode stop + echo 6 > /sys/class/backlight/sony/brightness ;; esac ;; *) logger "ACPI action undefined: $2" ;; esac ;; + battery) case "$2" in BAT0) @@ -60,6 +66,29 @@ button/lid) #echo "LID switched!">/dev/tty5 ;; + + sony/hotkey) + case "$2" in + SPIC) + case "$4" in + 0000000c) + [ -e /var/run/daemons/bluetooth ] && /etc/rc.d/bluetooth stop || /etc/rc.d/bluetooth start + ;; + 00000010) + echo $(( ${presbright}-1 )) > /sys/class/backlight/sony/brightness + ;; + 00000011) + echo $(( ${presbright}+1 )) > /sys/class/backlight/sony/brightness + ;; + 00000017) + /usr/sbin/pm-suspend + ;; + esac + ;; + *) logger "ACPI action undefined: $2" ;; + esac + ;; + *) logger "ACPI group/action undefined: $1 / $2" ;;