tail head cat sleep
QR code linking to this page

Manual Pages  — ACPI_FUJITSU

NAME

acpi_fujitsu – Fujitsu Laptop Extras

CONTENTS

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):

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

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 <Mt shegget@gmail.com>, Anish Mistry <Mt mistry.7@osu.edu>, and Marc Santcroos <Mt marks@ripe.net>.

This manual page was written by Philip Paeps <Mt philip@FreeBSD.org>.


ACPI_FUJITSU (4) February 8, 2010

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

Some people, when confronted with a problem, think “I know, I'll use regular expressions.” Now they have two problems.
— Jamie Zawinski