SONYの CULV ノートPC、VAIO Y (VPCY11AFJ) で Gentoo を稼働させている。
2年前のモデルで、Core2 Duo、チップセット統合の GM45 がビデオチップである。
大方、困ることはない。
ただ、微妙に面倒なのが輝度調整。
デフォルトの状態では、Fnキーを使った輝度調節ができないのである(音量調節は Fn+F2/F3/F4で可能)。
仕方がないので、
sudo setpci -s 00:02.0 F4.B=80などとして手動で輝度を調節してきた。 今回は、これを Fn キーで調節できるように設定する。 もっとエレガントな方法もあるのかもしれないが、ここでは昔ながらの acpid を用いた方法を取る。 まず、acpid を動かす。 acpid がインストールされていないようなら emerge しておく。
emerge -av acpid起動する。
/etc/init.d/acpid startさらに、自動起動するように default runlevelに追加する。
rc-update add acpid defaultこの状態で、Fn+F5/F6 をタイプしたら、acpid 経由で何が起こるかを確認してみる。 端末を開き、
tail -f /var/log/messageを実行した状態で Fn+F5 をタイプすると、
Dec 25 10:45:11 localhost logger: ACPI event unhandled: sony/hotkey SNC 00000001 00000010 Dec 25 10:45:12 localhost logger: ACPI event unhandled: sony/hotkey SNC 00000001 0000003bと表示される。 続いて、Fn+F6 は
Dec 25 10:45:21 localhost logger: ACPI event unhandled: sony/hotkey SNC 00000001 00000011 Dec 25 10:45:21 localhost logger: ACPI event unhandled: sony/hotkey SNC 00000001 0000003bと表示される。 上記から発生するイベント名が分かったので、イベントに対応して setpci コマンドを実行するように設定すればよい。 まずは、イベントを拾うために、/etc/acpi/events ディレクトリに vaio_brightness というファイルを下記の 内容で作成する。
event=sony/hotkey SNC 00000001 0000001* action=/etc/acpi/vaio.sh %eこれで Fn+F5、Fn+F6 がタイプされると /etc/acpi/vaio.sh が呼び出されるようになる。 (ちなみに、Fn+F7 など上記のワイルドカード指定に適合する他のキーが押下されても vaio.sh が呼び出される。) 続いて、呼び出される vaio.sh を下記の内容で作成する。
#!/bin/sh # # ACPI handler for SONY VAIO Y (VPCY11AFJ) # # set brightness KEY=$4 case $KEY in 00000010) # Fn+F5 prev=`/usr/sbin/setpci -s 00:02.0 F4.B` new=`echo $((0x$prev - 16))` if [ $new -le 0 ] ; then new=15 fi /usr/sbin/setpci -s 00:02.0 F4.B=`printf "%x" $new` ;; 00000011) # Fn+F6 prev=`/usr/sbin/setpci -s 00:02.0 F4.B` new=`echo $((0x$prev + 16))` if [ $new -ge 255 ] ; then new=255 fi /usr/sbin/setpci -s 00:02.0 F4.B=`printf "%x" $new` ;; esac以上で設定終了である。 上記設定を反映させるために acpid を再起動する。
/etc/init.d/acpid restartこれで Fn+F5, Fn+F6 で輝度のダウン、アップができるようになる。 16段階というのが多過ぎるかも?
※コメント投稿者のブログIDはブログ作成者のみに通知されます