Package: acpi-support
Version: 0.137-5
Severity: wishlist
Tags: patch

On NEC Lavie lm370 notebook models the
integrated brightness control function keys do not work.

The following changes makes them usable:

Make keys known to kernel by adding to file /etc/rc.local :
# Get Brightness control keys working; map to XF86 Brightness keys
# up
setkeycodes 65 225
# down
setkeycodes 67 224 


Add the event handler to /etc/acpi/events/brightness :
======================
event=video/brightness*
action=/etc/acpi/brightness.sh %e
======================

Add the script /etc/acpi/brightness.sh (attached)


-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (800, 'testing'), (500, 'stable'), (70, 'unstable'), (1, 
'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
#!/bin/bash
# Created from sonybright.sh to
# support also other computers
# For example: NEC LaVie lm370


test -f /usr/share/acpi-support/key-constants || exit 0

# Use variables for device files
BRIGHTNESS_DEV="/sys/class/backlight/*/brightness"
MAX_BRIGHTNESS_DEV="/sys/class/backlight/*/max_brightness"

# Try wildcard catcher
# BRIGHTNESS=$(cat /sys/class/backlight/sony/brightness)
BRIGHTNESS=$(cat $BRIGHTNESS_DEV )
# Get max_brightness also
MAX_BRIGHTNESS=$(cat $MAX_BRIGHTNESS_DEV)

# Use BRTUP/BRTDN ($2) as parameters
if [ "x$2" = "xBRTDN" ]; then
   if [ "x$BRIGHTNESS" != "x0" ]; then
      BRIGHTNESS=$(( $BRIGHTNESS - 1 ))
      echo $BRIGHTNESS > $BRIGHTNESS_DEV
   fi
elif [ "x$2" = "xBRTUP" ]; then
   if [ "x$BRIGHTNESS" != "x${MAX_BRIGHTNESS}" ]; then
      BRIGHTNESS=$(( $BRIGHTNESS + 1 ))
      echo $BRIGHTNESS > $BRIGHTNESS_DEV
   fi
else
   echo >&2 Unknown argument $2
fi

Reply via email to