Ubuntu のキー配置変更

mozc でひらがな・カタカナキーの設定が変更できない件 - hd 4.0 の問題がどうにも解決できない*1のでとりあえず iBus の設定で無変換とカタカナ/ひらがなキーをそれぞれ ime のトグルキーにしてごまかすことにした。なんかものすごく無駄な感じだが仕方ない。

それはおいておくとして、あとは次の変更を行いたい。

  • 全角/半角キーを Escape に
  • 変換キーを右シフトに

ということでやり方を調べた。

全角/半角キーを Escape に

http://ja.verbmode.net/2008/12/02/howto_replace_keymap に書かれている通り ~/.Xmodmaprc を作成し、以下の設定を追加。

keycode 49 = Escape

xmodmap ~/.Xmodmaprc で反映。意外とあっさり。

変換キーを右シフトに

親指シフトという言葉を聞いて親指シフトがどういうものかも知らず*2とりあえず想像でやってみたら意外と癖になった設定。右手親指って結構遊んでるから非常に有効活用できる設定だと思うんだけどどうだろう・・。

前はホストの Windows7 ではレジストリを変更して対応してて、それがそのままゲストの Ubuntu にも適用されてたみたいだったけど、レジストリを元に戻して yamy で変更するよう変えたところゲストに反映されなくなった。 XP + 窓使いの憂鬱だといけたんだけど、まあいいか。レジストリでもいいけどせっかくなのでゲストの設定で変更してみる。

xevコマンドの使い方: UNIX/Linuxの部屋 を参考に xev で変換キーの keycode を調べると俺の環境では変換キーは 100 であることがわかる。だがこれを素直に keycode 100 = Shift_R とやるだけでは反映されない。 http://kyoto.cool.ne.jp/kinoka/pc/xkeymap.html を参考に、 .Xmodmaprc に以下のように設定することでうまくいった。

clear mod3
keycode 100 = Shift_R
add shift = Shift_R

あーなにかと難儀だなぁ。変に環境いじってると環境移行が大変だ。ほんといろいろ知らなきゃよかったこととか思いつかなきゃよかったことが多いよ。標準がいかにクソだと思ったところでやはり標準は偉大なんだな。

*1:変換キーで ime-on にはできた

*2:今も知らない