HookKeyHookを使う

HookKeyHookは、受話キーと終話キーにアプリやキーコード発行を割り当てることができるアプリです。

HookKeyHook v0.10: W-ZERO3 Holic

個人的には、このプログラムは面白いなぁと思いながらも、受話キーと終話キーにアプリを割り当てるのはちょっと抵抗がありました。
TreoやWM6エミュレータ(ただしProfessional Edition)では、受話キーは0x72、終話キーは0x73のキーコードが発行されます。
HookKeyHook v0.08から単体でキーコード発行できるようになったので、これを機に受話キーと終話キーでキーコードを発行させてみようと思いました。

HookKeyHookに同梱されているHKHSettingで下記のように設定しました。


[通話ボタン]
File: sendkey Opt 0x72
[終話ボタン]
File: sendkey Opt 0x73


「電話中もボタンをフック」という設定もありますが、私は通話と終話の両方ともチェックしました。

これで、HookKeyHook.exeを起動すれば受話キーと終話キーがフックされてキーコードが発行されます。
もちろん、このままではソフトリセットしたら毎回HookKeyHook.exeを起動しないとならないので、ショートカットをスタートアップに入れておきます。

ただ、これだとキーコードを発行するだけで電話ができなくなってしまうのでSortInchKeyで0x72と0x73について設定します。
まず、SortInchKeySettings.exeを起動して、「メニュー」→「設定」の「キー」タブの「追加」ボタンを押します。
キー名称とキーコードを下記のように設定します。


OFFHOOK 0x72
ONHOOK  0x73


で、その後それぞれにアプリを割り当てます。

コード 同時コード 短押し 長押し
OFFHOOK アプリ実行:OffHook.exe
ONHOOK アプリ実行:OnHook.exe


OffHook.exeとOnHook.exeはHookKeyHookに同梱されているアプリで、通常の受話と終話を行うだけのアプリです。
つまり、この割り当てだけだと元の動作と同じなので割り当てた意味ないじゃんってことですが、他の割り当てを追加することでこの設定は意味を持ちます。
例えば、Operaが前面に出てる時だけ割り当てる設定とか、HYPER状態の時だけ割り当てる設定とか。
常に受話キーと終話キーに割り当てるのは抵抗あるけど、条件付きならいいかなと思って。