Ubuntu キーバインディング変更
Table of Contents
概要
- 「変換」「無変換」をCtrlにしたい。
方法
dconf のインストール
$ sudo apt install dconf-editor $ dconf write /org/gnome/settings-daemon/plugins/keyboard/active false $ dconf update $ sudo dconf update
下記ディレクトリを作成する
- ‾/.xkb
- keymap
mykbdファイルの生成
$ setxkbmap -print > ‾/.xkb/keymap/mykbd
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete+ledscroll(group_lock)" };
xkb_symbols { include "pc+jp+jp(kana):2+us:3+inet(evdev)" };
xkb_geometry { include "pc(pc105)" };
};
mykbdファイルの編集
下記のように書き換える。
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete+ledscroll(group_lock)" };
xkb_symbols { include "pc+jp+jp(kana):2+us:3+inet(evdev)"
key <HENK> { [Control_L] };
modifier_map Control { <HENK> };
key <MUHE> { [Control_R] };
modifier_map Control { <MUHE> };
};
xkb_geometry { include "pc(pc105)" };
};
"modifier_map Control { <HENK> };" と "modifier_map Control { <MUHE> };" のところがポイント。 これが無いと、「変換」キーか、「無変換」キーのどちらかしかCtrlキーとして機能しなかった。
設定の有効化
$ xkbcomp ‾/.xkb/keymap/mykbd $DISPLAY 2> /dev/null
起動時に自動で設定されるようにする
.bashrc に下記を記載する。
if [ -n "$DISPLAY" ]; then xkbcomp ${HOME}/.xkb/keymap/mykbd $DISPLAY 2> /dev/null fi