一直困惑我的就是我的系统在虚拟终端(通过 Alt+Ctrl+Fx
来得到的那种)里面
用 Emacs 的时候右边的 Alt
键一直不能用作 Meta
键,每次按 M-x
都要跑到
大老远去按 Esc
,实在是很不方便,所以我特别讨厌在虚拟终端下面使用Emacs
,但是今天在 Linuxsir 的一个帖子那里得到 galilette 的帮助,知道了如何
解决这个问题。原贴请看这里。
问题的原因在于 keymap 。 keycode 100
被 map 到了 AltGr
上而不是 Alt
上,
所以要修改 keymap ,要实时修改可以用如下的命令:
echo -e `dumpkeys | grep keymaps` '\nkeycode 100 = Alt' | loadkeys
来修改,如果要系统启动的时候自动修改,在 Debian 系统的
/etc/console-tools/
目录下面有一个 remap 的 sed 脚本,用于实现重新定义
keymap 的内容,只要在里面加上:
s/AltGr/Alt/;
重启之后也能在 Emacs 里面正确地使用右边的 Alt
键了!同样的道理,我的终
端下面即使打开了 Caps Lock
,按 c 还是输入小写的 c ,要输入大写必须按
Shift c
才行,用 showkey 命令查看了 c 的 keycode 是 0x2e 即 48 ,然后
用 dumpkeys | grep 48
看到原来那个键被映射到好多东西上面,于是我又在
/etc/console-tools/remap
里面再加了一行:
s/keycode *46.*$/keycode 46 = c/;
这下就可以正常使用了! :)