2008年11月1日土曜日

XP, Vista:キーボードのバックライトをコントロールする。


Key Led Controller

XPでLCDの明るさ調整キーを効かせるために色々調べてたらキーのバックライトを光らせる方法を見つけたのでコントロールするツールを作ってみた。

使い方は、起動すると「常にオフ」「キーを触った時だけオン」「常にオン」を聞かれるので選ぶだけ。
起動時のオプションで 0 ~ 2 の値を指定することもできる(0:常にオフ、1:キーを触った時だけオン、2:常にオン)。


それにしても明るさ調整を担当しているブツが分からない。
ほとんどのハードキーの機能はSHARP製の SEID デバイスドライバ、EcSvc サービス、EcMgr.exe、Intel 製の hkcmd.exe で担当しており、それらを軒並み止めると明るさ調整キー以外は効かなくなる(画面の回転やディスプレイの切り替えは EcMgr.exe がキー入力に変換してそれを hkcmd.exe が受け取って処理を行う)。でも明るさ調整キーだけは何をしても効いてしまう。逆に XP になると何をしても効かない。

とりあえず DeviceIoControl() に IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS コードを使うと明るさ調整が出来そうなので XP ではプログラムで対応することになりそう。

0 件のコメント: