---
name: "acpi_fujitsu"
section: "4"
platform: "linux"
package: "freebsd-manpages"
version: "6.0-5"
release: "Debian 4.0 (Etch)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/acpi_fujitsu"
---

# acpi\_fujitsu(4)

Fujitsu Laptop Extras

## NAME

**acpi\_fujitsu** – Fujitsu Laptop Extras

## SYNOPSIS

**device acpi\_fujitsu**

## DESCRIPTION

The **acpi\_fujitsu** driver enables the ACPI-controlled buttons on Fujitsu notebooks. The button events are sent to userspace via [devd(8)](/devd/8.md), and a [sysctl(8)](/sysctl/8.md) 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)](/sysctl.conf/5.md).

## EXAMPLES

The following can be added to [devd.conf(5)](/devd.conf/5.md) 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)](/acpi/4.md), [sysctl.conf(5)](/sysctl.conf/5.md), [devd(8)](/devd/8.md), [sysctl(8)](/sysctl/8.md)

## HISTORY

The **acpi\_fujitsu** driver first appeared in FreeBSD 5.4.

## AUTHORS

The **acpi\_fujitsu** driver was written by Sean Bullington ⟨sean@stalker.org⟩, Anish Mistry ⟨mistry.7@osu.edu⟩, and Marc Santcroos ⟨marks@ripe.net⟩.

This manual page was written by Philip Paeps ⟨philip@FreeBSD.org⟩.
