general:linux:swap_left_shift_and_ctrl_useful_on_typematrix_keyboards
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 <LCTL> { [ Shift_L ] }; replace key <LFSH> { [ Control_L ] }; };
sunkan@sunkan:~$ cat .xkb/set.sh #!/bin/sh xkbcomp -w3 -I$HOME/.xkb $HOME/.xkb/keymap/mykbd $DISPLAY
general/linux/swap_left_shift_and_ctrl_useful_on_typematrix_keyboards.txt · Last modified: 2021/01/17 11:34 by sunkan