运行X时,我使用.xmodmaprc重新映射某些键:
! Make it so that both Caps Lock and Escape do Escape
clear Lock
keysym Caps_Lock = Escape
! Remap the menu key as Compose
keysym Menu = Multi_key
如何在控制台上完成相同的操作?
更新
除了我的答案中给出的部分解决方案,我还了解到控制台映射了CTRL-.作曲.所以我可能会习惯这一点.将菜单键设置为Compose不是那么容易做到的,因为有大量的nul指定的密钥代码,并且没有明显的竞争者用于菜单的备用名称.
我也意识到组合绑定本身比我在X下习惯的更有限,并且我经常使用的大多数特殊字符都不存在.也许有一个实用程序可以将X语法组合绑定转换为loadkeys可以读取的内容?
解决方法:
您必须编辑控制台键映射.在我的控制台上,我已将Escape映射到Caps Lock并将Caps Lock映射到Escape.这是它的工作原理.
>首先,您需要找到您的密钥图.我使用标准的美国布局.在我的系统上,它位于/usr/share/keymaps/i386/qwerty/us.map.gz下.
>以新名称制作文件的副本,例如us-nocaps.map.gz.
>解压缩文件并在文本编辑器中打开:gunzip us-nocaps.map.gz&& vim us-nocaps.map
>根据自己的喜好更改文件中的映射,例如我有keycode 58 = Caps_Lock,我将其更改为keycode 58 = Escape.
> Gzip文件并加载它:gzip us-nocaps.map&& loadkeys us-nocaps.
还有一件事:你可能不得不以某种方式配置你的发行版,以确保新的键盘映射总是在启动时被加载,否则你将不得不一直用loadkeys手动加载你的键盘映射.你如何做到这一点取决于你正在使用的分布.