#!/bin/bash # acpi_hotkeys_IBM_tp41 # Volker Lanz, www.volker-lanz.de # based on: # acpi_hotkeys_ASUS_M6842NW # Manfred Tremmel, based on the script of Stefan Seyfried DCOP=/opt/kde3/bin/dcop RADEONTOOL=/usr/local/sbin/radeontool POWERSAVE=/usr/bin/powersave BLUETOOTH=/etc/init.d/bluetooth IFUP=/sbin/ifup IFDOWN=/sbin/ifdown FN_F3=4099 FN_F4=4100 FN_F5=4101 FN_F7=4103 FN_F12=4108 LID_CLOSE=20481 . "/usr/lib/powersave/scripts/helper_functions" export PATH=/bin:/usr/bin MYNAME=${0##*/} if [ $# -ne 3 ] ; then DEBUG "something wicked happened. number of arguments: $#, arguments: '$*'" ERROR exit 1 fi run_on_xserver() { get_x_user su $X_USER -c "DISPLAY=$DISP $1" } TYPE=$1 set $3 EVENT=$1 # "ibm/hotkey" ACPI=$2 # "HOTK" WHAT=$3 # "00000080" SERIAL=$4 if [ "$EVENT" != "ibm/hotkey" ]; then echo "non-hotkey-event: $TYPE $EVENT $ACPI $WHAT $SERIAL" | logger -t $MYNAME exit 0 fi declare -i VAL VAL=0x$SERIAL case $VAL in $FN_F3) if $RADEONTOOL light | grep -q "looks off"; then echo 7 off > /proc/acpi/ibm/led $RADEONTOOL light on else echo 7 blink > /proc/acpi/ibm/led run_on_xserver "$DCOP kdesktop KScreensaverIface lock" $RADEONTOOL light off fi ;; $FN_F4 | $LID_CLOSE) echo 7 blink > /proc/acpi/ibm/led $POWERSAVE -u ;; $FN_F5) if grep -q disabled /proc/acpi/ibm/bluetooth; then echo enable > /proc/acpi/ibm/bluetooth $BLUETOOTH start $IFUP ath0 else echo disable > /proc/acpi/ibm/bluetooth $BLUETOOTH stop $IFDOWN ath0 fi ;; $FN_F7) echo video_switch > /proc/acpi/ibm/video ;; $FN_F12) echo 0 blink > /proc/acpi/ibm/led $POWERSAVE -U ;; *) DEBUG "undefined hotkey: $VAL $TYPE $EVENT $ACPI $WHAT $SERIAL" DIAG exit 1 ;; esac exit 0