长时间使用Emacs经常会觉得小指疼痛,一个月前我把自己用的三台电脑(两台winxp,一台archlinux)的Caps Lock键的功能都改成了和左Ctrl一样,这样小指按起来就舒服多了,另外由于平时不需要用到Caps Lock键所以也不需要找个组合键来代替它了。

Windows下有个很方便的改键工具 remapkey,xp安装盘自带。

Mac OS X系统中改键也很方便,10.4以上版本的OSX中可以直接在Keyboard Preference里找到修改键位映射的选项。

Linux下的改键我知道两种方法,一种是修改xorg.conf文件,把里面的键盘设备设置改成

Section "InputDevice"
Identifier      "Generic Keyboard"
Driver          "kbd"
Option          "CoreKeyboard"
Option          "XkbRules"      "xorg"
Option          "XkbModel"      "pc104"
Option          "XkbLayout"     "us"
Option          "XkbOptions"    "ctrl:swapcaps"
EndSection

另一种是使用xmodmap这个工具,具体可以参见这篇文章 Changing your caps lock into Ctrl in X,这里简单介绍下

修改前记得先备份当前的键位映射,xmodmap -pke > xmodmap.backup

接下来运行

xmodmap -e 'keycode 66 = Control_L'
xmodmap -e 'clear Lock'
xmodmap -e 'add Control = Control_L'

这样就修改了Caps Lock的键位映射而不需要重启x,如果要在每次启动时自动修改Caps Lock键的映射,可以新建/修改一个.Xmodmap或者.xmodmap的文件,在里面加入

keycode 66 = Control_L
clear Lock
add Control = Control_L