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⟩.