因为用 Emacs 的时候常用到 ctrl ,所以小指不适。想将 ctrl 和 capslock 换一下。
https://www.bilibili.com/read/cv5156572/
可是输入 udevadm hwdb -- update 之后出现提示:
/etc/udev/hwdb.d/99-personal-kbd.hwdb:5: Property expected, ignoring record with no properties
没有成功。
还是用 xmodmap 的方法吧。
http://t.zoukankan.com/zhaoyu1995-p-6288412.html
remove Lock = Caps_Lock remove Shift = Shift_L remove Control = Control_L keysym Shift = Control_L keysym Control = Caps_Lock keysym Caps_Lock = Shift_L add Lock = Caps_Lock add Shift = Shift_L add Control = Control_L
但是输入xmodmap .xmodmap之后提示:
xmodmap: .xmodmap:4: bad keysym target key symbol 'Shift'
xmodmap: .xmodmap:5: bad keysym target key symbol 'Control'
xmodmap: 2 errors encountered, aborting.
之前只改 control 和 capslock 的时候成功了,但想改三个的时候失败了。变成了 control 和 shift 换了、capslock 没变。待机又启动后改的映射都没了!
上面那个博客里改三个键的时候用了 keycode .下面这两篇博客说了 keycode .
https://blog.csdn.net/wslzj2003/article/details/78590248
https://www.cnblogs.com/yinheyi/p/10146900.html
用 xmodmap -pk 查看现在的映射:
37 0xffe3 (Control_L) 0x0000 (NoSymbol) 0xffe3 (Control_L) 50 0xffe1 (Shift_L) 0x0000 (NoSymbol) 0xffe1 (Shift_L) 66 0xffe5 (Caps_Lock) 0x0000 (NoSymbol) 0xffe5 (Caps_Lock)
于是写成了这样:
remove Lock = Caps_Lock remove Shift = Shift_L remove Control = Control_L keycode 37 = Caps_Lock NoSymbol Caps_Lock keycode 50 = Control_L NoSymbol Control_L keycode 66 = Shift_L NoSymbol Shift_L add Lock = Caps_Lock add Shift = Shift_L add Control = Control_L
然后在目录 ~ 下输入 xmodmap .xmodmap ,就成功改好了!
据说每次重启之后都需要再次输入 xmodmap ~/.xmodmap 才行。或者可以把这个命令加到开机启动项里。这就之后再弄吧~