[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: cover close
濱嶋です。
>> NetBSD 的には、func キーが 1 キーでコマンドモディファイアキーに
>> なっていて、func+スペースで、KS_Cmd_BacklightToggle というコマンド
>> が出されるようになっています。
>> このコマンドが出されると、カーネル内で PWCTL_LCDLIGHT というポート
>> が on/off されます。
>>
>> カバー(フタ)を閉めるとバックライトが消えるというようにはできてい
>> ません。
>
> sys/dev/hpc/btnmgr.c でカバーのイベントが来たときに
> POWERCONTROL_LCDLIGHTのhookを呼び出すという方法では何かまずいことがあ
> るのでしょうか?
> 具体的には以下のようなコードなのですが。
ごめんなさい、うそです。
カバーのボタンがONになったらLCDのライトをOFFなので、msgを反転させなけ
ればいけません。
> diff -u /sys/dev/hpc/btnmgr.c btnmgr.c
> --- /sys/dev/hpc/btnmgr.c Sat Oct 26 18:35:22 2002
> +++ btnmgr.c Mon Dec 9 13:23:02 2002
> @@ -237,6 +237,9 @@
> config_hook_call(CONFIG_HOOK_PMEVENT,
> CONFIG_HOOK_PMEVENT_SUSPENDREQ, NULL);
>
> + if (id == CONFIG_HOOK_BUTTONEVENT_COVER)
> + config_hook_call(CONFIG_HOOK_POWERCONTROL,
> + CONFIG_HOOK_POWERCONTROL_LCDLIGHT, msg);
>
> return (0);
> }
以下のコードでMC/R450のLCDが消えるようになりました。vrc4172pwmで制御し
ている他の機種でも消えると思います。
else if (id == CONFIG_HOOK_BUTTONEVENT_COVER)
config_hook_call(CONFIG_HOOK_POWERCONTROL,
CONFIG_HOOK_POWERCONTROL_LCDLIGHT, (void*)(msg ? 0: 1));
LCDLIGHTがGPIOに接続されている機種(NEC_MCR_3XX,NEC_MCR_500,NEC_MCCS)等
ではどうなのでしょうか?
問題ないならcommitしてしまおうと思います。