先扯几句
家里的一台联想用了好多年了,和我的岁数差不多……
2GB内存……运行Windows 10卡的一匹。
于是我就准备把它安上CentOS系统,直接在命令行里操作。
。。。
此处艰辛省略一万字
。。。
装完CentOS 8了以后,我遇到的最大问题就是:
好多键都是坏!掉!的!如:F2
,6
,5
,左control
,
居然连减号键都是坏的,参数键啊!!
没有减号键,命令怎么输?
所以,我第一个映射的就是减号键。
正题
首先你得在根目录中创建一个叫做.xmodmaprc
的文件。
(名字随便起,但最好按照我的来。)
然后,cd到根目录下。
用Vim
编辑:
vim .xmodmaprc
进入Vim后,按i键进入编辑模式。
xmodmap语法
在这里,你可以自定义键盘映射。
比如,pagedown的键值是117, pageup的键值是112
现在,我要交换pagedown和等于键,我可以在里面输入:
!pagedown -> =
keycode 117 = 0x3d
交换pageup和减号键:
!pageup -> -
keycode 112 = 0x2d
但授人以鱼,不如授人以渔
我们可以通过xev
命令查看键值:
在终端输入:xev
然后它会记录你按下的键,比如我按下减号键,又按了等于键:
键值后面有一个0x开头的数字,也可以用这个来代表按键。
所以第一个案例中,交换pagedown和等于键也可以这么来:
!pagedown -> =
keysym 0xff54 = 0x3d
学会了吧!
小技巧:如果 一个键 = 两个键,则后面的那个键会和 shift + 第一个键 互换
比如:交换capslock和6,shift+capslock和5:
!capslock -> 6 5
keysym 0xffe5 = 6 5
运行xmodmaprc
先按esc键退出编辑模式,再输入:wq
保存退出
运行xmodmaprc其实很简单,只要在终端输入:
xmodmap .xmodmaprc
然后,你就可以很快乐地将capslock,pagesup,pagesdown这种几乎无用的键代替有用的键了!
xmodmap的缺点
- 电脑重启后,一切都复原了,需要再次执行
xmodmap .xmodmaprc
才能有效 - xmodmap不能在纯终端下(文本多用户级别下)使用。
第一个还可以通过bash脚本搞定,第二个就有点致命了。
好像网上有教程使xmodmap在纯终端下使用的教程,但这已经是修改底层的东西了,极其麻烦。
各位大佬可以在评论区留言一下,万分感激🙏
最后
贴上我的xmodmaprc:
!pageup -> - _
keycode 112 = 0x2d 0x5f
!capslock -> 6 5
keysym 0xffe5 = 6 5
!left-alt -> ` ~
keysym 0xffe9 = 0x60 0x7e
!pagedown -> = +
keycode 117 = 0x3d 0x2b
0 条评论