:man| Alphabetical   Categories   About us 
 
ACPI_FUJITSU (4) | Special files and drivers | Unix Manual Pages | :man

NAME

acpi_fujitsu - Fujitsu Laptop Extras

CONTENTS

Synopsis
Description
Sysctl Variables
Examples
See Also
History
Authors

SYNOPSIS


.Cd "device acpi_fujitsu"

DESCRIPTION

The acpi_fujitsu driver enables the ACPI-controlled buttons on Fujitsu notebooks. The button events are sent to userspace via devd(8), and a sysctl(8) interface is provided to simulate the hardware events.

Using this driver, one can control the brightness of the display, the volume of the speakers, and the internal (eraserhead) mouse pointer.

SYSCTL VARIABLES

These sysctls are currently implemented:
hw.acpi.fujitsu.lcd_brightness
Makes the LCD backlight brighter or dimmer.
hw.acpi.fujitsu.pointer_enable
Enables or disables the internal mouse pointer.
hw.acpi.fujitsu.volume
Controls the speaker volume.
hw.acpi.fujitsu.mute
Mutes the speakers.

Defaults for these sysctls can be set in sysctl.conf(5).

EXAMPLES

The following can be added to devd.conf(5) in order to pass button events to a /usr/local/sbin/acpi_oem_exec.sh script:
notify 10 {
match "system""ACPI";
match "subsystem" "FUJITSU";
action "/usr/local/sbin/acpi_oem_exec.sh $notify fujitsu";
};

A possible /usr/local/sbin/acpi_oem_exec.sh script might look like:
#!/bin/sh
#
if [ "$1" = "" -o "$2" = "" ]
then
echo "usage: $0 notify oem_name"
exit 1
fi
NOTIFY=‘echo $1‘
LOGGER="logger"
CALC="bc"
BC_PRECOMMANDS="scale=2"
ECHO="echo"
CUT="cut"
MAX_LCD_BRIGHTNESS=7
MAX_VOLUME=16
OEM=$2
DISPLAY_PIPE=/tmp/acpi_${OEM}_display


case ${NOTIFY} in
0x00)
LEVEL=‘sysctl -n hw.acpi.${OEM}.mute‘
if [ "$LEVEL" = "1" ]
then
MESSAGE="volume muted"
else
MESSAGE="volume unmuted"
fi
;;
0x01)
LEVEL=‘sysctl -n hw.acpi.${OEM}.pointer_enable‘
if [ "$LEVEL" = "1" ]
then
MESSAGE="pointer enabled"
else
MESSAGE="pointer disabled"
fi
;;
0x02)
LEVEL=‘sysctl -n hw.acpi.${OEM}.lcd_brightness‘
PERCENT=‘${ECHO} "${BC_PRECOMMANDS} ; \
${LEVEL} / ${MAX_LCD_BRIGHTNESS} * 100" |\
${CALC} | ${CUT} -d . -f 1‘
MESSAGE="brightness level ${PERCENT}%"
;;
0x03)
LEVEL=‘sysctl -n hw.acpi.${OEM}.volume‘
PERCENT=‘${ECHO} "${BC_PRECOMMANDS} ; \
${LEVEL} / ${MAX_VOLUME} * 100" | \
${CALC} | ${CUT} -d . -f 1‘
MESSAGE="volume level ${PERCENT}%"
;;
*)
;;
esac
${LOGGER} ${MESSAGE}
if [ -p ${DISPLAY_PIPE} ]
then
${ECHO} ${MESSAGE} >> ${DISPLAY_PIPE} &
fi
exit 0

SEE ALSO

acpi(4), sysctl.conf(5), devd(8), sysctl(8)

HISTORY

AUTHORS

 
Created by Blin Media, 2008-2013