将 Caps + L 重新映射到 dash

将 Caps + L 重新映射到 dash

我想将这四个键重新映射()-=Caps+jkl;各自的位置。这样做的目的是不要离开主行来输入这些在编程中非常常见的字符。

这包括要求Caps Shift l生产_,这相当于Shift -

我也想在受到压力时自行Caps采取行动。ESC

我已经尝试过的:

  1. https://github.com/simos/keyboardlayouteditor- 安装有语法错误
  2. https://www.bedroomlan.org/projects/evrouter/- 不支持多键
  3. 编辑/usr/share/X11/xkb/symbols/pc- 我没有看到组合选项,也无法从中找出答案文档
  4. evdevremapkeys- 没有描述中的支持这个问题
  5. xdotool- 可以工作但是很慢...
  6. 直接映射vim- 这是我的后备方案,但我希望这个功能可以在全系统范围内使用

任何帮助都值得感激,也许一些指导就足以让我解决这个问题。

谢谢!

答案1

解决方法

警告:如果发生任何小的打字错误,编辑文件/usr/share/X11/xkb/symbols/us是非常危险的......它会导致登录循环......只有在这种情况下您可以从 tty 管理事情才能继续......

  1. 将目录更改为/usr/share/X11/xkb/symbols/

运行命令:

cd /usr/share/X11/xkb/symbols/
  1. 备份us文件

运行命令:

sudo cp us usbackup
  1. 编辑文件us

运行命令:

sudo -H gedit us
  1. 编辑如下行

内容:

key <AC01> {    [     a,    A       ]   };
key <AC02> {    [     s,    S       ]   };
key <AC03> {    [     d,    D       ]   };
key <AC04> {    [     f,    F       ]   };
key <AC05> {    [     g,    G       ]   };
key <AC06> {    [     h,    H       ]   };
key <AC07> {    [     j,    J,  parenleft           ]   };
key <AC08> {    [     k,    K,  parenright          ]   };
key <AC09> {    [     l,    L,  minus, underscore   ]   };
key <AC10> {    [ semicolon,    colon,  equal,  plus]   };
key <AC11> {    [ apostrophe,   quotedbl            ]   };
  1. 保存文件并关闭。

  2. gnome-shell可能需要使用Alt+或 Logout & Login 进行刷新..未经测试..F2rEnter

  3. 使用以下命令将 Caps_Lock 设为 3 级修饰符

运行命令:

gsettings set org.gnome.desktop.input-sources xkb-options "['lv3:caps_switch']"

使用上述命令,Caps_Lock修饰符变为,当按住 Caps_Lock 时,ISO_Level3_Shift将从编辑的文件中打印第 3 个键符。类似地,如果按住 Caps_Lock 和 Shift,则会打印第 4 个键符。us

  1. 现在要使修饰符 ISO_Level3_Shift 在按下和释放时自行运行..使用这个伟大的工具xcape..

运行命令:

sudo apt install xcape

描述:配置修饰键,使其在按下和释放时充当其他键。xcape 允许您在单独按下和释放修饰键时将其用作另一个键。请注意,这比按下原始键稍慢,因为直到释放该键时才会发生按下事件。默认行为是在单独按下和释放左控制键时生成 Esc 键。

  1. 一旦安装了 xcape,请运行以下命令,使 Caps_Lock 在按下和释放时表现为 Escape。

运行命令:

xcape -e 'ISO_Level3_Shift=Escape'
  1. 将上述命令添加到您的启动应用程序首选项列表中,这样就无需在每次登录/启动时运行该命令。

在此处输入图片描述

在此处输入图片描述

就是这样..你完成了..


使用 Caps_Lock 修饰符可以实现所有 4 件事( ) - =,使用 Caps_Lock+Shift 修饰符则_可以实现。

当仅按下并释放 Caps_Lock 时,它充当 Escape 键,因为这就是我们的配置方式。

在此处输入图片描述

相关内容