如何在命令行系统上交换 Esc 和 CapsLock?

如何在命令行系统上交换 Esc 和 CapsLock?

我想按照指定的方式交换Caps Lock和键Escape这个答案

使用键盘首选项来交换 Caps Lock 和 Escape - 说真的,您使用 Caps Lock 的频率是多少?使用 vim 时,您将一直使用 Escape,而将其放在主行上会带来很大的不同。使用标准 Ubuntu 桌面,浏览菜单:系统 -> 首选项 -> 键盘 -> 布局选项卡。然后点击“布局选项”按钮,单击“Caps Lock 键行为”旁边的三角形,然后选择“交换 ESC 和 CapsLock”。

但是,我正在使用没有 GUI 的 Ubuntu Server,那么如何从命令行执行此操作?

答案1

交换 Esc 和 CapsLock,组合键,例如 Ctrl-Esc

  • dumpkeys | grep -P -i "^keymaps.*|^keycode.*escape|^keycode.*lock" > swap.map
  • 交换图看起来应该是这样的:
    键映射 0-127
    键码 1 = Esc
    键码 58 = CtrlL_Lock
    键码 69 = Num_Lock
    键码 70 = Scroll_Lock
    
  • 1交换键码和的值58,同时删除其他_Lock行;但保留第一行。
  • 尝试一下sudo loadkeys swap.map
  • 假设它有效,只需将此行添加到/etc/rc.local该行之前exit 0,即可在启动时激活交换:
    loadkeys /home/user/swap.map # 或您选择的任何路径

来源以获得更一般的解释。

相关内容