table of contents
| ACPI_FUJITSU(4) | Device Drivers Manual | ACPI_FUJITSU(4) |
NAME¶
acpi_fujitsu —
Fujitsu Laptop Extras
SYNOPSIS¶
To compile this driver into the kernel, place the following line in your kernel configuration file:
device acpi_fujitsuAlternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):
acpi_fujitsu_load="YES"
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¶
HISTORY¶
The acpi_fujitsu driver first appeared in
FreeBSD 5.4.
AUTHORS¶
The acpi_fujitsu driver was written by
Sean Bullington
<shegget@gmail.com>,
Anish Mistry
<mistry.7@osu.edu>,
and Marc Santcroos
<marks@ripe.net>.
This manual page was written by Philip Paeps <philip@FreeBSD.org>.
| February 8, 2010 | Debian |