人気ブログランキング | 話題のタグを見る

XmodmapでAltキーにEscapeを割り当てる(苦戦中)

全然渡米生活に関係ないけど備忘録。

ワタクシはvi使いです。というか、emacsだの他のエディタだのはショートカットがわからんので使えません。
(実は、最初はemacsでプログラムを始めたのだが、あまりにCtrl +の組み合わせを使うので左小指を壊してからviに乗り換えた)

……で、今、今度はEscの使い過ぎで左薬指を壊しました……(涙)

viの使い勝手の良さはとても気に入っているのだけど、唯一気に入らないのがEscキーの遠さです。
あれに届かせようと無理に左の薬指をのばし、使い過ぎで痛めてしまうのです。
Escの機能をもっとホームポジションに近いところ、Linuxでは今のところ使ったこともないAltキーあたりに割り当てられれば、と.vimあたりを随分弄ったのですが、うまくいかず。。。

で、いっその事、.Xmodmapでキー自体のファンクションを変えてしまえ!! と思ったのですが、これがまた簡単にいかない。
結論をいうと、何故か.Xmodmapに書くと駄目なのだが、毎回ログインの度に手で入力すれば動く方法をみつけました。

とにかく、ログインしたらターミナルで次のようにタイプする。

xmodmap -e "clear mod1"
xmodmap -e "keycode 113 = Escape"

つまり、問題はAltが修飾キーだということなんですね。
修飾キーなので、modifier mapに登録されているから、単にkeycode で指定してやっても変更出来ない。
なので、いっそ、modifier mapからAltキーに関するエントリを消してしまえ! という乱暴な技です。

修飾キーを別の修飾キーに変える(Caps LockをControlとか)例題はいくらでもあるのですが、修飾キーの機能をなくして一般のキーを割り当てる方法がweb上のどこにも落ちてなくて、えらい苦労しました(いや、自分でman読めって?)
結局参考になったのは以下のメールマガジンです。

でるもんた・いいじま氏のメルマガから
第18号第19号

ちなみに、上の2行を.Xmodmapに書いても動かない理由はわかりません(汗)
私の環境のmodifier mapを

xmodmap -pm

コマンドでチェックすると、mod1には実はAlt_L(キーボード上に存在する)、もうひとつのAlt_L(キーボード上に見当たらないが、Alt_Rのキーコードでもない)、それにMeta_Lしか登録されていません。
にもかかわらず、Alt_Rキーの上書きが普通に出来ない理由はよくわかりませんが、とにかくmod1を全クリアしてやればkeycodeの設定ができました。

ちなみに、keycode 113 は私の環境でのAlt_Rです。
皆様の環境でいくつになるかは、

xev

とやってAlt_Rキーを押せば調べられます。

しかし、この2行、どうして.Xmodmapに書くとエラーするのかな。。。
もう、そこで拘る暇は今はないので、毎回タイプするからいいけどさ………(涙)
by lily_lila | 2010-09-02 08:55 | その他

渡米生活日々の備忘録。


by lily_lila