下面代码是alt与cotrol互换,CapsLock改为Control。~
目录中创建.Xmodmap
文件把下面的代码填进去
clear Lock
clear Control
clear mod1
keycode 37 = Alt_L Meta_L
keycode 105 = Alt_R Meta_R
keycode 64 = Control_L
keycode 108 = Control_R
keycode 66 = Control_L
add control = Control_L Control_R
add mod1 = Alt_L Meta_L
add Lock = Caps_Lock
然后在终端输入xmodmap ~/.Xmodmap
就可以了
原理讲解
键盘某个键位按下去之后会向Linux系统发送一个code,该code是不可更改的。
linux系统输入一个字符,比如a,是系统调用某个函数实现的。
键盘的code与系统的输入函数之间存在映射,比如当按下键盘的a,代表a的code与系统输入字符a的函数映射调用,系统就输入了字符a。
划重点!!!我们可以手动指定键盘按键code与系统输入函数之间的映射,比如把a的code映射到系统输入字符b的函数,那么按下键盘的a就会输入字符b。
另外,control、alt等按键,多了一个叫“修饰符”的概念,keycode绑定到系统输入函数后,函数还要和修饰符绑定才行
!清除修饰符 Lock上的所有函数绑定
clear Lock
clear Control
clear mod1
!绑定keycode与函数调用
keycode 37 = Alt_L Meta_L
keycode 105 = Alt_R Meta_R
keycode 64 = Control_L
keycode 108 = Control_R
keycode 66 = Control_L
!与清除对应,重新添加,添加修饰符control与函数Control_L Control_R的绑定
add control = Control_L Control_R
add mod1 = Alt_L Meta_L
add Lock = Caps_Lock
参考
http://xahlee.info/linux/linux_swap_control_and_alt_xmodmap.html
https://wiki.archlinux.org/index.php/Xmodmap_(简体中文)#特殊的按键