永久重新映射大写锁定以逃脱

永久重新映射大写锁定以逃脱

我正在尝试重新映射大写锁定以在键盘上转义。我尝试过以下解决方案在 AskUbuntu 上发现没有成功:

$ xmodmap -e "keycode 9 = Caps_Lock NoSymbol Caps_Lock"
$ xmodmap -e "keycode 66 = Escape NoSymbol Escape"
$ setxkbmap -option caps:swapescape

我该怎么办?

答案1

要使用 xkb 执行此操作,我更喜欢执行以下操作:

  1. 创建一个目录来存储我的自定义键盘映射,以便在需要重新安装时可以重新应用更改。我选择创建目录,然后创建一个包含以下内容的~/.settings/keyboard/文件(我选择调用我的ucus带有自定义):c
default partial alphanumeric_keys
xkb_symbols "uc" { 
    name[Group1]="uc";
    include "us(basic)"
    key <ESC> { [Caps_Lock] };
    key <CAPS> { [Escape] };
};

然后您可以创建到该文件的符号链接,如下所示:

cd /usr/share/X11/xkb/symbols/
sudo ln -s ~/.settings/keyboard/uc uc

使用命令确保链接指向正确的文件

ls -l /usr/share/X11/xkb/symbols/uc

这样做就足以使用该命令setxkbmap uc(我建议这样做,以确保一切按预期进行),只要 X 服务器正在运行,该命令就会切换这些键。 (笔记:在韦兰,对我来说,这实际上并没有设置键盘映射,但我必须执行下一步,然后转到键盘菜单并将英语(自定义)设置为顶部键盘布局,然后重新启动。如果在键盘菜单中选择了多个布局,我还必须单击en右上角出现的 ,选择英语(自定义),然后选择显示键盘布局,然后加载布局)。

  1. 为了使此更改永久生效(也为了使这个新的键盘布局在键盘菜单中可用,无论如何这在肉桂中都有效),还要复制该文件
sudo cp /usr/share/X11/xkb/rules/evdev.xml ~/.settings/keyboard/

然后编辑文件以包含您的布局,如下所示,在 部分中<layoutList>插入以下内容:

...
<layoutList> 
  <layout>
    <configItem>
      <name>uc</name>
      <shortDesciption>uc</shortDescription>
      <description>English (Custom)</description>
    </configItem>
  </layout>
...
...
</layoutList>

(注意<layoutList></layoutList>已经存在于文件中,我们只是添加一个新布局)

然后,以下命令将使您能够从键盘菜单中选择此键盘布局:

cd /usr/share/X11/xkb/rules
sudo mv evdev.xml evdev.xml.original
sudo ln -s ~/.settings/keyboard/evdev.xml evdev.xml

然后,打开键盘设置菜单,您将能够看到名为 English(自定义)的布局,其中包含所需的键盘布局。如果您从此菜单中将其设置为键盘布局,则每次登录时所做的更改都将保留。

希望这有帮助!

答案2

尝试安装https://github.com/sezanzeb/input-remapper(在 ubuntu 上,只需执行 即可sudo apt install input-remapper。您可以在那里重新映射键。

相关内容