在 linux 控制台上重新映射大写锁定以转义,并重新映射菜单以进行撰写

int*_*ted 9 linux terminal keyboard xmodmap console

运行 XI 时,使用 .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
Run Code Online (Sandbox Code Playgroud)

如何在控制台上完成相同的事情?

更新

除了我的回答中给出的部分解决方案之外,我还了解到控制台将 CTRL- 映射.到 Compose。所以我可能会习惯这一点。将 Menu 键设置为 Compose 并不容易,因为有大量的 nul 分配的键码,并且没有明显的 Menu 替代名称竞争者。

我还意识到撰写绑定本身比我在 X 下习惯的要有限得多,而且我经常使用的大多数特殊字符都不存在。也许有一个实用程序可以将 X 语法组合绑定转换为loadkeys可以读取的内容?

Ced*_*ric 8

您必须编辑控制台键盘映射。在我的控制台上,我已将 Escape 映射到 Caps Lock 并将 Caps Lock 映射到 Escape。这是它的工作原理。

  1. 首先,您需要找到您的键盘映射。我使用标准的美国布局。在我的系统上,它位于/usr/share/keymaps/i386/qwerty/us.map.gz.
  2. 以新名称制作该文件的副本,例如us-nocaps.map.gz.
  3. 解压文件并在文本编辑器中打开它: gunzip us-nocaps.map.gz && vim us-nocaps.map
  4. 根据您的喜好更改文件中的映射,例如我将keycode 58 = Caps_Lock其更改为keycode 58 = Escape.
  5. Gzip 文件并加载它:gzip us-nocaps.map && loadkeys us-nocaps.

还有一件事:您可能必须以某种方式配置您的发行版,以确保新的键盘映射始终在启动时加载,否则您将不得不一直手动加载您的键盘映射loadkeys。您如何做到这一点取决于您使用的发行版。


Ing*_*ngo 5

对于较新的 Debian 发行版,您不再需要这一切。

键盘文件描述了键盘的属性。读取它是setupcon(1)为了配置控制台上的键盘。在 Debian 系统中,默认键盘布局在 中 进行了描述/etc/default/keyboard,并且在 X 和控制台之间共享。(男人键盘)

设置然后执行/etc/default/keyboardXKBOPTIONS="caps:escape"

~$ sudo setupcon
Run Code Online (Sandbox Code Playgroud)

/usr/share/X11/xkb/rules/xorg.lst所有可用键盘型号、布局、变体和选项的描述可在“。”(man 键盘)中找到