ホームディレクトリに.xkbというのを作って、.xkb以下に設定ファイルを作成して、.bashrcとか、.zshrcとかでそれを読みこませることで細かいキーバインド設定が可能。
[xkb] Ubuntu 14.04 で Caps Lock を別のキーにする方法 Ubuntu 14.10でキー配置を変更してみた xkb編
上記を全部一通り読んだらできた。ちなみに下記は英語だけど色々詳しく書いてある。 An Unreliable Guide to XKB Configuration
以下はメモ。
下記で現在のキー設定を確認できる。
$ setxkbmap -print
下記でイベントリスナーが取得してる内容をみることができて、各ボタンをおしたときに、コードや反応しているアクション名などを確認することができる。
$xev
下記パス以下に、xkbの設定が入っている。
/usr/share/X11/xkb/
下記で、xkbの設定を反映することができる。mykbdは自分で命名した内容による。
$ xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY 2> /dev/null
自分が設定してみた内容は下記です。
~/.xkb/keymap/myxkb
xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+jp+us:2+inet(evdev)+myswap(swapkeys)" }; xkb_geometry { include "pc(pc105)" }; };
~/.xkb/symbols/myswap
partial modifier_keys xkb_symbols "swapkeys" { key <AB11> { [ underscore, backslash ] }; key <MUHE> { [ Escape, Escape ] }; key <HENK> { [ BackSpace, BackSpace] }; key <HKTG> { [ Return, Return] }; key <LALT> { [ Control_L, Control_L] }; key <LCTL> { [ Alt_L, Alt_L] }; };