xmodmap小结
文章目录
前言
正如我之前博客中提到过的,我是一个重度vim用户.
如果你也和我一样是个vim爱好者或者是emacs用户,那你想必知道Caps_lock键对我们并没有什么卵用.所以很多用户都会将Caps_lock键和Ctrl对换.
在Linux中,我们的工具是xmodmap
xmodmap
介绍
xmodmap是在Linux桌面环境Xorg中用于修改按键映射关系的工具.
在每次按下键盘时,Linux内核都会生成一个Code.Code同keycodes表比较,然后决定按下的是什么.
而Xorg使用自己的Keycodes表来参与这个过程.每一个Keycode可以调用一系列keysym.一个keysym就像一个function被Keycode调用执行.
我们并不能改变每个按键对应的keycode,但是我们可以通过Xmodmap来编辑keycode-keysym的对应关系。
说了那么多,那么什么是keymap表呢?下面我们来看看.
keymap表
查看完整keymap表
|
|
每条Keymap之后都跟随要被映射的keysyms.下面的例子表明keycode 57被映射到小写n,同时大写N映射于57 + Shift.
每个keysym列都对应指定的键组合:
- Key
- Shift+Key
- mode_switch+Key
- mode_switch+Shift+Key
- AltGr+Key
- AltGr+Shift+Key
在keysym组合没有被指定时,使用NoSymbol代替.
查看按键对应的keymap表
上面我们知道如何查看完整的keymap表.如果我想知道具体某个键的keymap信息呢?
执行如下命令后,再按下键盘上的按键,将逐条显示对应的keymap表:keycode值 keysyms.
|
|
处理方法列表
以Linux Mint为例:处理方法列表放在
|
|
语法
上面说了辣么多,下面我们看看如何使用xmodmap改变我们的映射关系.
Example
一般步骤分为以下两步:
1. 修改.Xmodmap
2. 修改~/.xinitrc
f [ -f $HOME/.Xmodmap ]; then /usr/bin/xmodmap $HOME/.Xmodmap fi
下面我们来看下具体的例子.
交换Caps_lock和左Ctrl的位置
|
|
交换backslash和BackSpace
|
|
我们甚至可以通过xmodmap来改变鼠标的映射关系.有兴趣的可以阅读我们的[参考链接](### 参考链接)
参考链接
笔力有限,甚是惭愧.精心筛选,值得一读.
文章作者 成祎
上次更新 2016-11-05