アドエスのキーロックスイッチ決定版
- 2009/05/17 02:17
- カテゴリー:マニアックなおはなし
さて,前回,Bluetoothドングルを取り付けたアドエスを,キーロックスイッチによって電源をOFFにするする仕組みを考えましたが,キーロックスイッチONの時でも電源ボタンがマスクされないことから,電源ボタンがふいに押されて起動した後,ずっと起きっぱなしになるという問題点があり,検討を続けていました。
今回,すべての問題点を解決出来たので,書いておきます。
・用意するもの
lock2suspend.exe
MortScript4.1
RegCondExec
・基本的な流れ
前回はKLChgExecによってキーロックスイッチのONとOFFを監視し,それぞれに応じたMortScriptを起動したが,今回は,レジストリを監視し,キーロックスイッチの変化と同時に,キーロックスイッチの状態も見ることで,キーロックスイッチがONの場合にはとにかく電源を切る,ということにしてみた。
キーロックスイッチは,レジストリのHKEY_CURRENT_USER\Software\Sharp\PhoneStatus\Status0に状態が常に反映されていて,1ならON,0ならOFFとなっている。
これを,RegCondExecという常駐ソフトで監視し,OFFからONに状態が変化した場合には従来通りのPowerOff.mscrを実行,また起動時にONの状態であった場合にもPowerOff.mscrを実行する。
lock2suspend.exeについては,キーロックスイッチがONになった直後に通信の接続を切り,またOFFになって起動した場合にすぐに通信の接続を行うこと,またモデムとして動作しているときにはサスペンドに入らないという機能を実現するために併用する。
・設定
(1)まず,RegcondExecをインストール。なかなか複雑な設定が必要だが,以下を記述したRegcondExec.iniを用意し,実行ファイルという同じフォルダに入れておく。
[KeyLockOn]
triggerNegate=false
triggerKeyName=HKEY_CURRENT_USER\Software\Sharp\PhoneStatus\Status0
triggerKeyState=exists
triggerKeyType=DWORD
triggerKeyValue=0x0001
checkType=both
polling=200
exec=\Program Files\MortScript\PowerOff.mscr
exec=\Program Files\RegCondExec_v010\RegCondExec.exe|-section=KeyLockOn
RegcondExecは,execで指定されたアプリを実行すると常駐が解除されてしまうので,再常駐させるために,自らを起動するという,ちょっとアクロバットなことを行う。
(2)RegcondExec.exeのショートカットをスタートアップフォルダに置き,起動オプションを -section=KeyLockOnとしておく。
(3)lock2suspend.exeの起動オプションを,/disconnect /connect /keepmodem だけ指定する。つまり,キーロックスイッチがONになったら,まずは画面をOFFし接続を切る。そしてPowerOff.mscr(以下を参照)で指定された6秒後に,電源がOFFになる。
If( ProcExists("player.exe") = 1)
ToggleDisplay(0)
Else
Sleep(6000)
PowerOff
EndIf
Exit
(4)lock2suspend.exeとRegcondExec.exeを常駐させる。
・運用
RegcondExecが常駐すると,Today画面の下部にRCEアイコンが出る。この状態でキーロックスイッチをONにすると,まずlock2suspend.exeによって画面が瞬時にOFF,後に電源が切れる。
ここで,電源ボタンを押すと普通に起動してしまうが,RegcondExec.exeによって6秒後に再び電源が切れる。
キーロックスイッチがOFFになるとlock2suspend.exeによって通信の接続も行われて,起動する。
・問題点
これでおおむね問題点はなくなり,望む動作が実現出来たが,SDカードのマウントとアンマウントに問題があるようで,一度だけSDカードがアンマウントされないままSDカードがマウントされ,SDカードがSDカード2として存在したことが,いろいろなアプリの動作に支障を来した事がある。また,SDカードが結局マウントされないという問題も時々起こるので,最悪の場合SDカードの破壊につながる可能性も否定できない。
いちおう,BluetoothによるActiveSyncも動作するようになり,PCとの同期やファイル転送,そしてオーディオにといろいろな活用が出来るようになってきました。電源周りについても一応の目処が立ったことで,今度こそ実用的に使えるものと期待しています。
ゲームもいくつか入れましたし,HPの電卓のエミュレータも入れました。PIMとしてWindowsMobileを使うはまだまだ辛く,現在の所全く考えられないのですが,それでもこのマシンが今後2年間,インターネット接続マシンとして私の生活を支えてくれるだろうという期待が高まった来たように思います。