2010-04-05

英語のキーボード配列でバックスラッシュを入力する方法

去年チェコで働いていたとき、少し戸惑った点の一つにキーボードの配列(レイアウト)があります。チェコでは大抵の場合、英語配列のキーボードを使っているので、例えば'@'を入力したいときは、Shift+2を押さなければなりません。特に、プログラミングなどでは、'@'や'='といった記号を多用するので、英語配列のキーボードに慣れておいて損は無いです。このように、海外留学や海外インターンシップなどを考えている場合は、渡航先で英語配列のキーボードを使う羽目になるので、早めに英語配列のキーボードに慣れておく必要があるわけです。

で、その英語配列のキーボードなんですが、Debianの場合、単純に[システム] -> [設定] -> [キーボード] でキーボードのレイアウトを変更するだけだと、バックスラッシュが打てなくなる可能性があります。具体的には、キーボード配列が次の図のようになってしまい、Backspaceキーの左隣にあるキーが無効化されてしまいます(押しても何も反応がなくなります)。


この問題の対処法についてですが、/etc/X11/xorg.confを弄るとかGNOMEの設定を変えるとか色々あるのですが、僕は単純にxmodmapコマンドを使いました。例えば、上図のBackspaceの左隣のキーのkeycodeは133なので、以下のコマンドを打てば解決できます。

    xmodmap -e "keycode 133 = backslash bar"

なお、現在のkeycodのマッピングの状態は、次のコマンドで確認できます。

     xmodmap -pke

また、keycodeの位置を調べたいときは以下のコマンドを使うと便利です。

     xev



[参考にしたサイト]

0 件のコメント: