電源スイッチを作る。

すっかり電源スイッチの効かなくなったTX。良品交換にだすにしろださないにしろそのままだと不便なので電源スイッチを作ってみました。ソフトウェア的に。
使用するのは以前日記でちょこっとメモったPowerBtn v1.2(→こちら)と、こちらも以前alg-ljさんに教えて頂いたDummy 1.0(→こちら)。
PowerBtnは設定でハードウェアキーに電源機能を割り当てることができるアプリ。OffFrashもきちんと動作します。またハードリセットもアプリの設定から行うことが出来るという優れもの。ですがこれがちょっと動作にクセがあり、ハードウェアキーの割り当て設定はPrefsのBottunではなくPowerBtnの設定画面で行うようになってます。そのため同じボタンに二つ以上の機能が混在することになるようで、電源を切る際に「そのボタンに割り当てられたアプリが起動→電源オフ」となってしまいます。また、起動時にもやはりそのボタンに割り当てられたアプリが最初に起動されてしまうわけで、ちょっと使いにくくなってしまいます。PowerBtnの設定にある「Program itself becomes power button」にチェックを入れればPowerBtnを起動しただけで電源が切れるようになり、PrefsのBottunで直に割り当てて使えるようになるのですが、こうなると電源を入れる際に割り当てたハードウェアキーを押すと電源を入れた瞬間に電源が切れてしまいます*1。これではzPowerOff(→こちら)等の電源オフにするソフトと同じです。
そこで、同じハードウェアキーにDummyを割り当てます。これは起動すると一瞬画面が暗転したのちすぐに元のアプリに戻る、という、実質的には何もしないアプリ。コレをPrefsのBottunで割り当て、同じハードウェアキーにPowerBtnを割り当てます。こうすると、終了時はDemmy起動→(Dummyの直前に起動していたアプリ→)電源オフ、起動時にはDummy起動→Dummyの直前に起動していたアプリ、となります。間にDummyが挟まる為起動・終了がもの凄くもっさりしてしまいます(体感で、起動に5秒かかります。終了は5秒+OffFrash分)が、とりあえずきちんと電源ボタンの役割を果たしています。
探せばもっとスマートな方法がありそうですし、起動のもっさり感がとても気にはなるのですが……まぁ、さしあたってということで。

*1:しかも元の設定に戻すにはアンインストールしてから入れ直す必要有り。