Sonyのノートパソコン(VAIO)のパネル輝度調節をする setbrightness というプログラムがある。これはSony PCG-V1XS Picturebook Camera Capture Programというプログラムの一部である。
十分に機能するプログラムなのであるが、なんとなくインターフェイスがいまいちな気がする。たとえば、輝度を指定するのは十進数なのに、結果は16進数で返ってきたりする。どうもしっくりこないので、ちょっと書き換える。といっても、main関数がわずか3,4行のプログラムなので、あっという間だ。
これで引数なしで起動すれば現在の輝度を10進数で報告し、引数として輝度を指定すればその値に輝度が設定されるようになる。
このコマンドを使って、/etc/acpi/default.sh に
などという内容で suspend to disk の手続を書いておけば、suspend to disk をした後に元の輝度で再開できるようになる。
十分に機能するプログラムなのであるが、なんとなくインターフェイスがいまいちな気がする。たとえば、輝度を指定するのは十進数なのに、結果は16進数で返ってきたりする。どうもしっくりこないので、ちょっと書き換える。といっても、main関数がわずか3,4行のプログラムなので、あっという間だ。
int main(int argc, char *argv[]) { iopl(3); if(argc>1)ecr_set(0x96, atoi(argv[1])); else printf("%d\n", ecr_get(0x96)%65280); return 0; }
これで引数なしで起動すれば現在の輝度を10進数で報告し、引数として輝度を指定すればその値に輝度が設定されるようになる。
このコマンドを使って、/etc/acpi/default.sh に
brightness=`/usr/local/bin/setbrightness` echo -n disk > /sys/power/state /usr/local/bin/setbrightness $brightness
などという内容で suspend to disk の手続を書いておけば、suspend to disk をした後に元の輝度で再開できるようになる。
※コメント投稿者のブログIDはブログ作成者のみに通知されます