半角/全角キーで日本語入力


Last Update: 2005/01/04
8896 th Visitor

半角/全角で日本語入力をON/OFFにする

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の操作に一歩近づいたと思います。


Xの日本語環境


もどるにゅ

トップにもどるにゅ