Linux更改键位映射
Posted feipeng8848
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux更改键位映射相关的知识,希望对你有一定的参考价值。
下面代码是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_(简体中文)#特殊的按键
以上是关于Linux更改键位映射的主要内容,如果未能解决你的问题,请参考以下文章
Remapping Keys in macOS —— 巧用 hidutil 实现键位映射
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段