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_fujitsu
Alternatively, to load the driver as a module at boot time, place the following
line in
loader.conf(5):
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¶
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⟩.