Xmodmapでモディファイヤキーを再現する

窓使いの憂鬱が便利すぎるのでデスクトップ環境をLinuxに移行する気が起きないのですが、その昔Linuxに移行しようと思っていろいろもがいた時の設定ファイルが出てきたので晒してみる。
窓使いの憂鬱で実現出来ることの一つに、「特定のキーを新しいモディファイヤキーとして定義して、それ+他のキーを押した時に特定のキーコードを送る」ということがあるのだけれど、それを利用すると
カタカナ + ijkl でカーソルキーの操作ができたり、u or oでhome endとか、qでAlt+F4とか、そういう変態チックなキーバインドが実現出来るわけです。
それを.Xmodmapで再現しようとした設定。

clear control
clear lock

!muhenkan -> Backspace
keycode 131 = BackSpace

!katakana_hiragana -> Zenkaku_hankaku
keycode 208 = Zenkaku_Hankaku

!Zenkaku_hankaku -> ESC
keycode 49 = Escape

!CAPSLock -> CTRL
keycode 66 = Control_L
add control = Control_L

!bug?
remove control = 56
keycode 56 = b B

!DiamondCursor
keycode 129 = Mode_switch
keycode 31 = i I Up
keycode 44 = j J Left
keycode 45 = k K Down
keycode 46 = l L Right

!HOME END
keycode 30 = u U Home
keycode 32 = o O End

あまり関係ない設定も混じってます。
keycode 129 = Mode_switch でモディファイヤキーを定義して、keycode 31 i I Up のように、keycode 番号 モディファイヤなし +Shift +Mode_switch こんなかんじに書けばOK
ただしこの方法で送り込めるキーコードは一つだけで、Alt+F4などの組み合わせは無理。窓使いの憂鬱のように複雑なことは残念ながらできません...
あとMode_switchに指定したキーを押すたびにキーボードのランプが光るかも。環境次第?
というかXmodmapの書式についてのまともな資料が英語圏にもなくて古くからあるはずなのにドキュメント適当なんだなーと思った。ソースコード読めという話なのかなぁ。


窓使いの憂鬱Linux/Macに移植している人がいるので、もしかしたらこんな憂鬱はなくなってしまうのかも。
vimperatorと組み合わせるととても快適なのでXmodmapでも同じことができたらいいのになぁ。