X上でkinput2とCannaを使って日本語入力するには「Shift+Space」あるいは「Ctrl+o」してON/OFFします。
が、やはりWindowsを使っていた人にとってはなじまないキーバインドだと思います。
まぁこれは慣れてしまえば大して問題は無いのですが、それでもFreeBSDでは半角/全角キーは普段使わないのでなんだかもったいない気もします。
というわけで、Shift+Space等でのON/OFFを維持しつつ、半角/全角キーでもON/OFFできるようにしてみたいと思います。
ただしこれはX上だけの話ですので、コンソールではこの方法では出来ません。
まぁ要するに半角/全角キーを漢字入力できるキーに割り当ててやれば良いわけなんですが。
とりあえず半角/全角キーのキーコードを調べます。
キーコードを調べるソフトがXを入れると標準でインストールされるのでそれを使います。
> xev
この時、&は付けない方が良いと思います。
何故ならWindowに閉じるボタンが無いので、ターミナル上でCtrl+cで強制終了させてやるしか方法が無いからです。
…WindowManagerからも出来ますけどね。
というわけでxevを起動するとキーを触るたびにキー関係の動作をターミナルに出力してくれます。
xevにフォーカスを合わせて半角/全角キーを入力してみましょう。
マウスカーソルの動きも当然関知するので、半角/全角キーのみを押さないといけません。
State 0x0, keycode 49 (keysym 0xff2a, Zenkaku_Hankaku), same_screen YES, 〜
ってな感じで出てると思います。
ここから半角/全角キーがキーコード49で、Zenkaku_Hankakuに割り当てられていることがわかります。
これをKanjiに割り当てます。
> xmodmap -e 'keycode 49=Kanji'
と入力してください。
大文字小文字はしっかり判別されるので、正確に書いてください。
これで半角/全角キーがKanjiに割り当てられました。
ktermなどの上で半角/全角キーを押してみてください。
kinput2のウィンドウが出て、もう一度押すと消えると思います。
これで日本語入力のON/OFFに半角/全角キーを割り当てることに成功しました。
が、Shift+Spaceと違って入力途中にOFFしようと思っても、別の機能に割り当てられてしまいます。
これはCtrl+oでも同様の現象が起こるので、仕様だと思います。
…変えれるような気もしますけど。
ただ、このキー設定はXを再起動すると無効になってしまいますので、常に有効にするには、ホームに.Xmodmapというファイルを作ってこれに設定を書いてやる必要があります。
> vi ~/.Xmodmap
keycode 49=Kanji
これで一応Windowsの操作に一歩近づいたと思います。