[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

cover close (Re: where is current information?)



濱嶋です。

また古い話を持ち出してきました。

Tue, 04 Jun 2002 13:48:02 +0900 (JST) に
TAKEMURA Shin <takemura@netbsd.org> さんが書かれた
<20020604.134802.128443855.takemura@shin1.sm.sony.co.jp> を引用しています

> NetBSD 的には、func キーが 1 キーでコマンドモディファイアキーに
> なっていて、func+スペースで、KS_Cmd_BacklightToggle というコマンド
> が出されるようになっています。
> このコマンドが出されると、カーネル内で PWCTL_LCDLIGHT というポート
> が on/off されます。
> 
> カバー(フタ)を閉めるとバックライトが消えるというようにはできてい
> ません。

sys/dev/hpc/btnmgr.c でカバーのイベントが来たときに
POWERCONTROL_LCDLIGHTのhookを呼び出すという方法では何かまずいことがあ
るのでしょうか?
具体的には以下のようなコードなのですが。

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);
 }

Sigmarion2はlcdcの所在がわからないので、これとmq200.cにLCDLIGHTのhook
を追加して何となく動いているような気がします。