https://qiita.com/uchan_nos/items/a2485b51f5f3fb0db8f8
を参考に、以下のファイルを作った
-- from ~/.xkb/symbols/custom
xkb_symbols "mk_kanjikey" {
replace key <RWIN> { [ Zenkaku_Hankaku ] };
};
xkb_symbols "capsasctrl" {
replace key <CAPS> { [ Control_L ] };
modifier_map Control { <CAPS> };
};
-- end
--from ~/.xkb/keymap/mykbd
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us+inet(evdev)+custom(mk_kanjikey)+custom(capsasctrl)" };
xkb_geometry { include "pc(pc105)" };
};
-- end
-- from ~/script/mk_kanjikey.sh
#!/bin/sh
if [ -s $HOME/.xkb/keymap/mykbd ]
then
sleep 2
xkbcomp -I$HOME/.xkb $HOME/.xkb/keymap/mykbd $DISPLAY 2>/dev/null
fi
-- end
でmk_kanjikey.sh を自動起動アプリケーションに追加すると、追加される。
で、どうもxkbcompをすると、キーボードの設定は適用されないっぽいので、CapsをCtrlにする処理もこっちでやるようにした。