EN JA
ACPI_FUJITSU(4)
ACPI_FUJITSU(4) FreeBSD Kernel Interfaces Manual ACPI_FUJITSU(4)

名称

acpi_fujitsuFujitsu ラップトップエキストラ (余分)

書式

このドライバをカーネルにコンパイルするためには、次の行を利用者のカーネル設定ファイルに置きます:

device acpi_fujitsu

もう一つの方法として、ブート時にモジュールとしてドライバをロードするためには、次の行を loader.conf(5) に置きます:

acpi_fujitsu_load="YES"

解説

acpi_fujitsu ドライバは Fujitsu ノートブックで ACPI 制御のボタンを有効にします。ボタンのイベントは、 devd(8) を通してユーザ空間に送られ、 sysctl(8) インタフェースは、ハードウェアイベントをシミュレートするために提供されています。

このドライバを使用して、表示の明るさ、スピーカのボリューム、と内部の (イレイザヘッド) マウスポインタを制御することができます。

SYSCTL 変数

これらの sysctl は現在、次の通りに実装されています:
hw.acpi.fujitsu.lcd_brightness
LCD バックライトをより明るくか、より薄暗くします。
hw.acpi.fujitsu.pointer_enable
内部のマウスポインタを有効にするか、または無効にします。
hw.acpi.fujitsu.volume
スピーカボリュームを制御します。
hw.acpi.fujitsu.mute
スピーカの音を消します。

これらの sysctl のためのデフォルトは、 sysctl.conf(5) で設定することができます。

使用例

ボタンのイベントを /usr/local/sbin/acpi_oem_exec.sh スクリプトに渡すために devd.conf(5) に次を加えることができます:

notify 10 { 
        match "system"  "ACPI"; 
        match "subsystem" "FUJITSU"; 
        action "/usr/local/sbin/acpi_oem_exec.sh $notify fujitsu"; 
};

考えられる /usr/local/sbin/acpi_oem_exec.sh スクリプトは、次に似ているかもしれません:

#!/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

歴史

acpi_fujitsu ドライバは FreeBSD 5.4 ではじめて登場しました。

作者

acpi_fujitsu ドライバは Sean Bullington <shegget@gmail.com>, Anish Mistry <mistry.7@osu.edu>と Marc Santcroos <marks@ripe.net>によって書かれました。

このマニュアルページは Philip Paeps <philip@FreeBSD.org>によって書かれました。

February 8, 2010 FreeBSD