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