acpi_fujitsu (4)
Leading comments
Copyright (c) 2005 Philip Paeps <philip@FreeBSD.org> All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the docum...
NAME
acpi_fujitsu - Fujitsu Laptop ExtrasSYNOPSIS
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.conf5:
acpi_fujitsu_load="YES"
DESCRIPTION
The 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.conf5.
EXAMPLES
The following can be added to devd.conf5 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.conf5, devd(8), sysctl(8)HISTORY
The driver first appeared in Fx 5.4 .AUTHORS
An -nosplit The driver was written by An Sean Bullington Aq shegget@gmail.com , An Anish Mistry Aq mistry.7@osu.edu , and An Marc Santcroos Aq marks@ripe.net .This manual page was written by An Philip Paeps Aq philip@FreeBSD.org .