修复 Ubuntu 21.04 中的 CAps LOck 延迟

修复 Ubuntu 21.04 中的 CAps LOck 延迟

我是那些习惯将文本大写的人之一CAPS LOCK,因此在存在延迟的 Linux 发行版上,这个问题相当烦人。我找到了一个解决方案,包括更改key<CAPS>键盘映射中的数据并将键盘映射重新加载到我的键盘上。此修复在 Ubuntu 21.04 中不再有效。以下是我之前所做的:

// Create keyboard map
xkbcomp -xkb $DISPLAY myxkbmap
nano myxkbmap

// Replace the part that says key<CAPS> with this:

key <CAPS> {     repeat=no,     type[group1]="ALPHABETIC",     symbols[group1]=[ Caps_Lock, Caps_Lock ],     actions[group1]=[ LockMods(modifiers=Lock), Private(type=3,data[0]=1,data[1]=3,data[2]=3) ]   };

// Reload the file
xkbcomp myxkbmap $DISPLAY

需要注意的是,这并不是完美的解决方案。快速输入时,您会注意到该单词的I'm结果为I"m。尽管如此,这仍然是一个重大改进I'M

这适用于几乎每个发行版都适用,并且迄今为止在每个 Ubuntu 版本中都有效。当我在 21.04 中尝试此操作时,它不起作用,并且在创建键盘文件后我收到了此警告:

警告:无法加载键盘几何图形:0 BadName(命名的颜色或字体不存在)生成的键盘映射文件不会描述几何图形

这是我在 20.10 和 21.04 上创建修复程序之间注意到的唯一区别,但是当我进行更改并重新加载文件时,它并没有解决问题。

有什么办法可以解决这个问题吗?我不会开始使用shift哈哈,我宁愿使用 Windows。显然,他们在 20.10 和 21.04 之间做了一些更改,这影响到了这一点。

答案1

更新 解决方案在这里:修复 Ubuntu 21.04 中的 CAps LOck 延迟

Ubuntu 21.04 使用 Wayland 作为其默认显示服务器,而不是 Xorg。Xorg 特定的配置和调整工具(即xkbcomp)不适用于 Wayland。

作为临时措施,我建议只是不使用 Wayland直到它准备就绪并拥有相当数量的用户群。如果没有活跃的用户群,就会出现太多错误,而没有人去修复它们。

要切换到 Xorg:

  1. 登出。

  2. 点击您的个人资料。

  3. 右下角会出现一个显示服务器选择按钮。点击它并选择Xorg 上的 Ubuntu

    显示服务器选择

  4. 现在重新登录并且一切正常。

答案2

如果仍有人在等待答案,Wayland 和 Xorg 都有一个解决方案。

解决方案:https://forum.manjaro.org/t/caps-lock-behaviour-wayland/79868/8

您必须编辑根文件。建议nautilus 管理员如果使用 nautilus 文件管理器(nautilus-admin 在 Ubuntu 21.10 上无法正常工作,其他版本可以正常工作),但常规 chmod 就可以了。

指示

打开文件/文件夹管理器。导航到/usr/share/X11/xkb/symbols/(Ctrl + L)。您要查找的文件名为capslock,但在您编辑它之前,需要更改该文件的权限。右键单击该文件夹并选择在 Temrinal 中打开

输入命令:sudo chmod 777 capslock

现在capslock使用您喜欢的文本编辑器打开文件(您可能需要备份该文件以防万一)。

代替

// This changes the <CAPS> key to become a Control modifier,
// but it will still produce the Caps_Lock keysym.
hidden partial modifier_keys
xkb_symbols "ctrl_modifier" {
    replace key <CAPS> {
        type[Group1] = "ONE_LEVEL",
        symbols[Group1] = [ Caps_Lock ],
        actions[Group1] = [ SetMods(modifiers=Control) ]
    };
    modifier_map Control { <CAPS> };
};

// This changes the <CAPS> key to become a Control modifier,
// but it will still produce the Caps_Lock keysym.
hidden partial modifier_keys
xkb_symbols "ctrl_modifier" {
          key <CAPS> {
              type="ALPHABETIC",
              repeat=No,
              symbols[Group1]= [ Caps_Lock, Caps_Lock ],
              actions[Group1]= [ LockMods(modifiers=Lock),
                                 LockMods(modifiers=Shift+Lock,affect=unlock) ]
          };
};

保存更改。进入sudo chmod 644 capslock终端恢复文件原始权限。

现在安装GNOME 调整如果您尚未安装,请从软件商店中获取sudo apt install gnome-tweaks

打开 GNOME Tweaks。导航到键盘和鼠标选项卡。点击附加布局选项并打开大写锁定行为下拉列表。选择Caps Lock 也是 Ctrl

在此处输入图片描述

重启 Ubuntu 后它应该就可以正常工作了。你不需要保留 GNOME Tweaks,如果你愿意,可以删除它。

答案3

适用于基于 Ubuntu 22.04 的 Linux Mint 21.1 Cinnamon。感谢您的回答:https://askubuntu.com/a/1396550/1673413,但我尝试了 gnome-tweaks,它在这里不起作用,所以在 Mint 21.1 Cinnamon 上,在替换 capslock 文件上的一些代码后(/usr/share/X11/xkb/symbols/),我们需要从“布局键盘选项”中激活“Caps lock 也是 Ctrl”。放置在:系统设置 ->键盘->布局->选项...-> 检查将 Caps Lock 设为附加的 Ctrl 键列表中的项目。

Linux Mint 21.1 Cinnamon 上的附加键盘设置图像

已编辑:注: 有人可能会认为 LM 不是 Ubuntu,是的,LM 不是 Ubuntu。但是,LM 基于 Ubuntu。

我把这个答案放在这里是因为它与 Linux 基础(ubuntu)有相似之处。而对于 LM 本身的 CApslock DElay 键盘修复,我从未发现除了在我之前关于这个问题的两个答案之外有什么真正的帮助。

但是在这两个答案中,有些内容对 LM 不起作用。

这就是我尝试添加答案的原因。

相关内容