WindowsでHappy Hacking Keyboard Liteを使ってIMEのon/offを快適に切り替える

IMEのon/offの切り替え

WindowsのIMEのon/offの切り替えにはいくつかの流儀がある。標準的な方法を挙げると、

  • マウスでタスクトレイのIME部分をクリックする
  • 日本語キーボードの [半角/全角] キーを押す
  • 英語キーボードの [Alt] キーを押しながら、[`/~] キーを押す

あたりだろうか。いちいちキーボードから手を離さなければいけないマウス操作は論外として、他の方法も問題がある。ASCII配列 (いわゆるタイプライタペアリング) のHappy Hacking Keyboard Liteにはそもそも [半角/全角] キーはないし、 [`/~] は頻繁に押すには良くない場所にある。それに、トグル方式には現在IMEがonであるかoffであるかを覚えておかなければいけないという致命的な問題がある。この問題を回避するには、IMEのonとoffのキーを別個に割り当てる必要がある。

macOS方式

この点、macOSは優れていて、[英数] でoff、[かな] でonと、現在の状態を覚える必要がないキー割り当てとなっている。この [英数] と [かな] に相当するのが、標準的な日本語キーボードの [無変換] と [変換] だ (年寄りには [NFER] と [XFER] と言ったほうがしっくりくるが)。意味的にも適切であるし、他の用途と干渉することもない。Happy Hacking Keyboard Liteには明示的に [無変換] や [変換] と書かれたキーはないが、左右の [◇] キーが該当する。

Windows + Happy Hacking Keyboard LiteでmacOS方式を実現する

ラップトップPCの新調後、しばらくは日本語キーボードで生活していた。日本語キーボードで生活する限り、IMEのキーアサインを変更するだけで、[変換]/[無変換]よるIMEのon/offが実現できる。

しかしながら、KVM内蔵のモニタを導入したのをきっかけに、外付けのキーボードとトラックボールをつなぐことにした。キーボードは手元にあったHappy Hacking Keyboard Liteだ。もちろん、今どきのKVMにPS/2はないのでアダプタを介してUSBとしてつなぐ。Happy Hacking Keyboard Liteには、日本語キーボードの [無変換]/[変換] の位置に [◇] キーが存在するが、標準の101/102キーのドライバを使用してASCII配列の英語キーボードとして認識させてしまうと、本来存在しないはずの [無変換]/[変換] キーも当然無効になってしまう。これを解決するには主に2つの方法がある。

まずは、[無変換]/[変換] キーを持っているASCII配列という特殊なキーボードとして認識させる方法だ。DEC LK411-AJはASCII配列でありながら [無変換]/[変換] を備えている珍しいキーボードで、そのドライバを流用することで簡単にmacOS方式を実現できる。Windowsでは、DEC LK411-AJ用のドライバであるkbdlk41a.dllを利用する。レジストリをいじってキーボードドライバを入れ替えたあとは、IME側のキーアサインを変更するだけだ。

もう一つ、標準の101/102キーのドライバを使いながら実現する方法もある。もちろん、101/102キーには [無変換] や [変換] のキーはないので、そのままではIME側が受け付けてくれない。そのため、 [無変換] や [変換] のキーを別の適当なキーに変換した上でIME側で引っ掛ける必要がある。Windowsの101/102キーのドライバを介して [無変換] や [変換] のキーを入力すると、スキャンコード0x007bや0x0079を吐くので、それを通常は使用しないキー、たとえばF13 (0x0064) やF14 (0x0065) などに割り当てる。スキャンコードを入れ替えるにはレジストリをいじる必要があるが、いくつかそれ用のソフトがあるのでそれを利用するのが良いだろう。その後はIME側で対応するスキャンコードを拾えば良い。

コメント

タイトルとURLをコピーしました