bionic (4) acpi_fujitsu.4freebsd.gz

Provided by: freebsd-manpages_11.1-3_all bug

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

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