[[https://unix.stackexchange.com/questions/65507/use-setxkbmap-to-swap-the-left-shift-and-left-control|Use setxkbmap to swap the Left Shift and Left Control]] sunkan@sunkan:~$ find .xkb/ -ls 265001 4 drwxr-xr-x 4 sunkan sunkan 4096 jan 17 12:29 .xkb/ 265003 4 drwxr-xr-x 2 sunkan sunkan 4096 jan 17 12:28 .xkb/keymap 265014 4 -rw-r--r-- 1 sunkan sunkan 319 jan 17 12:21 .xkb/keymap/mykbd 265012 16 -rw-r--r-- 1 sunkan sunkan 16080 jan 17 12:28 .xkb/keymap/mykbd.xkm 265009 4 drwxr-xr-x 2 sunkan sunkan 4096 jan 17 12:20 .xkb/symbols 265013 4 -rw-r--r-- 1 sunkan sunkan 142 jan 17 12:20 .xkb/symbols/myswap 265018 4 -rwxr-xr-x 1 sunkan sunkan 69 jan 17 12:29 .xkb/set.sh sunkan@sunkan:~$ sunkan@sunkan:~$ cat .xkb/keymap/mykbd xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+us(dvorak)+se(dvorak_a5):2+se:3+inet(evdev)+ctrl(ac_ctrl)+myswap(swap_l_shift_ctrl)" }; xkb_geometry { include "typematrix(tm2030USB-102)" }; }; sunkan@sunkan:~$ cat .xkb/symbols/myswap partial modifier_keys xkb_symbols "swap_l_shift_ctrl" { replace key { [ Shift_L ] }; replace key { [ Control_L ] }; }; sunkan@sunkan:~$ cat .xkb/set.sh #!/bin/sh xkbcomp -w3 -I$HOME/.xkb $HOME/.xkb/keymap/mykbd $DISPLAY