#!/bin/sh
# ACPI script for handling function keys

set $*
set -e

# Take care about the way events are reported
ev_type=`echo "$1" | cut -d/ -f1`
if [ "$ev_type" = "$1" ]; then
	event="$2";
else
	event=`echo "$1" | cut -d/ -f2`
fi

button=$4

BRIGHTNESS_FILE="/sys/class/backlight/sony/brightness"

#logger "Type $ev_type, Event: $event, But: $button"

case "$ev_type" in
    sony)
        case "$event" in
            power)
                logger "acpid: received a shutdown request"
           #     /sbin/init 0
		break
                ;;
            hotkey)
                #logger "acpid: special key: $button"
		case "$button" in
		    00000010)
			# lower brightness
			bright=`cat $BRIGHTNESS_FILE`
			bright=`calc -p "$bright-1"`
			if [ $bright -le 7 -a $bright -ge 0 ]; then
			    echo $bright > $BRIGHTNESS_FILE
			elif [ $bright -ne 8 -a $bright -ne -1 ]; then
			    logger "acpid: brightness lower err: $bright"
			fi
			break
			;;
		    00000011)
			# raise brightness
			bright=`cat $BRIGHTNESS_FILE`
			bright=`calc -p "$bright+1"`
			if [ $bright -le 7 -a $bright -ge 0 ]; then
			    echo $bright > $BRIGHTNESS_FILE
			elif [ $bright -ne 8 -a $bright -ne -1 ]; then
			    logger "acpid: brightness raise err: $bright"
			fi
			break
			;;

		    0000000e)
			# toggle mute
			amixer -c 0 set Master,0 toggle
			break
			;;
		    0000000d)
			# lower volume
			amixer -c 0 set Master,0 2dB-
			break
			;;
		    0000000f)
			# raise volume
			amixer -c 0 set Master,0 2dB+
			break
			;;

		    *)
			logger "acpid: action for hotkey $button is not defined"
			;;
		esac
		break
                ;;
             *)
                logger "acpid: action $2 is not defined"
                ;;
        esac
    ;;

    *)
        logger `date` "ACPI group $1 / action $2 is not defined"
        ;;
esac



