xref: /dflybsd-src/share/man/man4/acpi_fujitsu.4 (revision b2a6f486d003bab74d4d1f092305b989b004d42f)
12f5aa587SSascha Wildner.\"
22f5aa587SSascha Wildner.\" Copyright (c) 2005 Philip Paeps <philip@FreeBSD.org>
32f5aa587SSascha Wildner.\" All rights reserved.
42f5aa587SSascha Wildner.\"
52f5aa587SSascha Wildner.\" Redistribution and use in source and binary forms, with or without
62f5aa587SSascha Wildner.\" modification, are permitted provided that the following conditions
72f5aa587SSascha Wildner.\" are met:
82f5aa587SSascha Wildner.\" 1. Redistributions of source code must retain the above copyright
92f5aa587SSascha Wildner.\"    notice, this list of conditions and the following disclaimer.
102f5aa587SSascha Wildner.\" 2. Redistributions in binary form must reproduce the above copyright
112f5aa587SSascha Wildner.\"    notice, this list of conditions and the following disclaimer in the
122f5aa587SSascha Wildner.\"    documentation and/or other materials provided with the distribution.
132f5aa587SSascha Wildner.\"
142f5aa587SSascha Wildner.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
152f5aa587SSascha Wildner.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
162f5aa587SSascha Wildner.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
172f5aa587SSascha Wildner.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
182f5aa587SSascha Wildner.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
192f5aa587SSascha Wildner.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
202f5aa587SSascha Wildner.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
212f5aa587SSascha Wildner.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
222f5aa587SSascha Wildner.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
232f5aa587SSascha Wildner.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
242f5aa587SSascha Wildner.\" SUCH DAMAGE.
252f5aa587SSascha Wildner.\"
262f5aa587SSascha Wildner.\" $FreeBSD: src/share/man/man4/acpi_fujitsu.4,v 1.1 2008/08/21 00:40:55 rpaulo Exp $
272f5aa587SSascha Wildner.\"
282f5aa587SSascha Wildner.Dd November 11, 2009
292f5aa587SSascha Wildner.Dt ACPI_FUJITSU 4
302f5aa587SSascha Wildner.Os
312f5aa587SSascha Wildner.Sh NAME
322f5aa587SSascha Wildner.Nm acpi_fujitsu
332f5aa587SSascha Wildner.Nd Fujitsu Laptop Extras
342f5aa587SSascha Wildner.Sh SYNOPSIS
352f5aa587SSascha WildnerTo compile this driver into the kernel,
362f5aa587SSascha Wildnerplace the following line in your
372f5aa587SSascha Wildnerkernel configuration file:
382f5aa587SSascha Wildner.Bd -ragged -offset indent
392f5aa587SSascha Wildner.Cd "device acpi_fujitsu"
402f5aa587SSascha Wildner.Ed
412f5aa587SSascha Wildner.Pp
422f5aa587SSascha WildnerAlternatively, to load the driver as a
432f5aa587SSascha Wildnermodule at boot time, place the following line in
442f5aa587SSascha Wildner.Xr loader.conf 5 :
452f5aa587SSascha Wildner.Bd -literal -offset indent
462f5aa587SSascha Wildneracpi_fujitsu_load="YES"
472f5aa587SSascha Wildner.Ed
482f5aa587SSascha Wildner.Sh DESCRIPTION
492f5aa587SSascha WildnerThe
502f5aa587SSascha Wildner.Nm
512f5aa587SSascha Wildnerdriver enables the ACPI-controlled buttons on Fujitsu notebooks.
522f5aa587SSascha WildnerThe button events are sent to userspace via
532f5aa587SSascha Wildner.Xr devd 8 ,
542f5aa587SSascha Wildnerand a
552f5aa587SSascha Wildner.Xr sysctl 8
562f5aa587SSascha Wildnerinterface is provided to simulate the hardware events.
572f5aa587SSascha Wildner.Pp
582f5aa587SSascha WildnerUsing this driver, one can control the brightness of the display, the volume
592f5aa587SSascha Wildnerof the speakers, and the internal (eraserhead) mouse pointer.
602f5aa587SSascha Wildner.Sh SYSCTL VARIABLES
612f5aa587SSascha WildnerThese sysctls are currently implemented:
622f5aa587SSascha Wildner.Bl -tag -width indent
632f5aa587SSascha Wildner.It Va hw.acpi.fujitsu.lcd_brightness
642f5aa587SSascha WildnerMakes the LCD backlight brighter or dimmer.
652f5aa587SSascha Wildner.It Va hw.acpi.fujitsu.pointer_enable
662f5aa587SSascha WildnerEnables or disables the internal mouse pointer.
672f5aa587SSascha Wildner.It Va hw.acpi.fujitsu.volume
682f5aa587SSascha WildnerControls the speaker volume.
692f5aa587SSascha Wildner.It Va hw.acpi.fujitsu.mute
702f5aa587SSascha WildnerMutes the speakers.
712f5aa587SSascha Wildner.El
722f5aa587SSascha Wildner.Pp
732f5aa587SSascha WildnerDefaults for these sysctls can be set in
742f5aa587SSascha Wildner.Xr sysctl.conf 5 .
752f5aa587SSascha Wildner.Sh EXAMPLES
762f5aa587SSascha WildnerThe following can be added to
772f5aa587SSascha Wildner.Xr devd.conf 5
782f5aa587SSascha Wildnerin order to pass button events to a
792f5aa587SSascha Wildner.Pa /usr/local/sbin/acpi_oem_exec.sh
802f5aa587SSascha Wildnerscript:
812f5aa587SSascha Wildner.Bd -literal -offset indent
822f5aa587SSascha Wildnernotify 10 {
832f5aa587SSascha Wildner        match "system"		"ACPI";
842f5aa587SSascha Wildner        match "subsystem"	"FUJITSU";
852f5aa587SSascha Wildner        action "/usr/local/sbin/acpi_oem_exec.sh $notify fujitsu";
862f5aa587SSascha Wildner};
872f5aa587SSascha Wildner.Ed
882f5aa587SSascha Wildner.Pp
892f5aa587SSascha WildnerA possible
902f5aa587SSascha Wildner.Pa /usr/local/sbin/acpi_oem_exec.sh
912f5aa587SSascha Wildnerscript might look like:
922f5aa587SSascha Wildner.Bd -literal -offset indent
932f5aa587SSascha Wildner#!/bin/sh
942f5aa587SSascha Wildner#
952f5aa587SSascha Wildnerif [ "$1" = "" -o "$2" = "" ]
962f5aa587SSascha Wildnerthen
972f5aa587SSascha Wildner        echo "usage: $0 notify oem_name"
982f5aa587SSascha Wildner        exit 1
992f5aa587SSascha Wildnerfi
1002f5aa587SSascha WildnerNOTIFY=`echo $1`
1012f5aa587SSascha WildnerLOGGER="logger"
1022f5aa587SSascha WildnerCALC="bc"
1032f5aa587SSascha WildnerBC_PRECOMMANDS="scale=2"
1042f5aa587SSascha WildnerECHO="echo"
1052f5aa587SSascha WildnerCUT="cut"
1062f5aa587SSascha WildnerMAX_LCD_BRIGHTNESS=7
1072f5aa587SSascha WildnerMAX_VOLUME=16
1082f5aa587SSascha WildnerOEM=$2
1092f5aa587SSascha WildnerDISPLAY_PIPE=/tmp/acpi_${OEM}_display
1102f5aa587SSascha Wildner
1112f5aa587SSascha Wildnercase ${NOTIFY} in
1122f5aa587SSascha Wildner        0x00)
1132f5aa587SSascha Wildner                LEVEL=`sysctl -n hw.acpi.${OEM}.mute`
1142f5aa587SSascha Wildner                if [ "$LEVEL" = "1" ]
1152f5aa587SSascha Wildner                then
1162f5aa587SSascha Wildner                        MESSAGE="volume muted"
1172f5aa587SSascha Wildner                else
1182f5aa587SSascha Wildner                        MESSAGE="volume unmuted"
1192f5aa587SSascha Wildner                fi
1202f5aa587SSascha Wildner                ;;
1212f5aa587SSascha Wildner        0x01)
1222f5aa587SSascha Wildner                LEVEL=`sysctl -n hw.acpi.${OEM}.pointer_enable`
1232f5aa587SSascha Wildner                if [ "$LEVEL" = "1" ]
1242f5aa587SSascha Wildner                then
1252f5aa587SSascha Wildner                        MESSAGE="pointer enabled"
1262f5aa587SSascha Wildner                else
1272f5aa587SSascha Wildner                        MESSAGE="pointer disabled"
1282f5aa587SSascha Wildner                fi
1292f5aa587SSascha Wildner                ;;
1302f5aa587SSascha Wildner        0x02)
1312f5aa587SSascha Wildner                LEVEL=`sysctl -n hw.acpi.${OEM}.lcd_brightness`
1322f5aa587SSascha Wildner                PERCENT=`${ECHO} "${BC_PRECOMMANDS} ; \\
1332f5aa587SSascha Wildner			 ${LEVEL} / ${MAX_LCD_BRIGHTNESS} * 100" |\\
1342f5aa587SSascha Wildner			 ${CALC} | ${CUT} -d . -f 1`
1352f5aa587SSascha Wildner                MESSAGE="brightness level ${PERCENT}%"
1362f5aa587SSascha Wildner                ;;
1372f5aa587SSascha Wildner        0x03)
1382f5aa587SSascha Wildner                LEVEL=`sysctl -n hw.acpi.${OEM}.volume`
1392f5aa587SSascha Wildner                PERCENT=`${ECHO} "${BC_PRECOMMANDS} ; \\
1402f5aa587SSascha Wildner			${LEVEL} / ${MAX_VOLUME} * 100" | \\
1412f5aa587SSascha Wildner			 ${CALC} | ${CUT} -d . -f 1`
1422f5aa587SSascha Wildner                MESSAGE="volume level ${PERCENT}%"
1432f5aa587SSascha Wildner                ;;
1442f5aa587SSascha Wildner        *)
1452f5aa587SSascha Wildner                ;;
1462f5aa587SSascha Wildner        esac
1472f5aa587SSascha Wildner        ${LOGGER} ${MESSAGE}
1482f5aa587SSascha Wildner        if [ -p ${DISPLAY_PIPE} ]
1492f5aa587SSascha Wildner        then
1502f5aa587SSascha Wildner                ${ECHO} ${MESSAGE} >> ${DISPLAY_PIPE} &
1512f5aa587SSascha Wildner        fi
1522f5aa587SSascha Wildnerexit 0
1532f5aa587SSascha Wildner.Ed
1542f5aa587SSascha Wildner.Sh SEE ALSO
1552f5aa587SSascha Wildner.Xr acpi 4 ,
1562f5aa587SSascha Wildner.Xr sysctl.conf 5 ,
1572f5aa587SSascha Wildner.Xr devd 8 ,
1582f5aa587SSascha Wildner.Xr sysctl 8
1592f5aa587SSascha Wildner.Sh HISTORY
1602f5aa587SSascha WildnerThe
1612f5aa587SSascha Wildner.Nm
1622f5aa587SSascha Wildnerdriver first appeared in
1632f5aa587SSascha Wildner.Fx 5.4 .
1642f5aa587SSascha WildnerIt was then ported to
1652f5aa587SSascha Wildner.Dx 2.5 .
1662f5aa587SSascha Wildner.Sh AUTHORS
1672f5aa587SSascha Wildner.An -nosplit
1682f5aa587SSascha WildnerThe
1692f5aa587SSascha Wildner.Nm
1702f5aa587SSascha Wildnerdriver was written by
171*b2a6f486SFranco Fichtner.An Sean Bullington Aq Mt shegget@gmail.com ,
172*b2a6f486SFranco Fichtner.An Anish Mistry Aq Mt mistry.7@osu.edu ,
1732f5aa587SSascha Wildnerand
174*b2a6f486SFranco Fichtner.An Marc Santcroos Aq Mt marks@ripe.net .
1752f5aa587SSascha Wildner.Pp
1762f5aa587SSascha WildnerThis manual page was written by
177*b2a6f486SFranco Fichtner.An Philip Paeps Aq Mt philip@FreeBSD.org .
178