先扯几句

家里的一台联想用了好多年了,和我的岁数差不多……

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

然后它会记录你按下的键,比如我按下减号键,又按了等于键:

2020-05-14-10.23.05

键值后面有一个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
分类: Linux

头像

huzongyu

本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等软件的安装与卸载; 精通CSS、JavaScript、PHP、ASP、C、C++、C#、Java、Ruby、Perl、Lisp、python、Objective-C、ActionScript、Pascal等单词的拼写; 熟悉Windows、Linux、Mac、Android、IOS、WP8等系统的开关机。

0 条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注

error: 禁止转载