重新映射的 Caps-Lock 键绑定在装有 Wayland 的 Ubuntu 22.04 上停止工作

重新映射的 Caps-Lock 键绑定在装有 Wayland 的 Ubuntu 22.04 上停止工作

我在运行 Wayland 的 Ubuntu 22 系统上遇到了一个奇怪的问题。我使用以下脚本将 Caps-lock 键重新映射为附加 Control 键:

remap_caps() {
  local filename="/etc/default/keyboard"
  local search
  local replace
  if grep XKBOPTIONS= $filename; then
    search=$(grep XKBOPTIONS= $filename)
    replace=XKBOPTIONS="\"ctrl:nocaps,grp:toggle\""
    sudo sed -i "s/$search/$replace/" $filename
  else
    echo XKBOPTIONS="\"ctrl:nocaps,grp:toggle\"" | sudo tee -a $filename
  fi
  if [ "$XDG_SESSION_TYPE" = "x11" ] || [ "$XDG_SESSION_TYPE" = "xwayland" ]; then
    setxkbmap -option 'ctrl:nocaps,grp:toggle'
  fi
  sudo dpkg-reconfigure keyboard-configuration
}

我还在 GTK 设置中启用了 Emacs 关键主题:

gsettings set org.gnome.desktop.interface gtk-key-theme "Emacs"

有时,主要是在 Emacs 和 Google Chrome 中,一些使用 的键绑定Caps-lock会停止工作。最常见的情况是,在拉取文本 - Caps-y时(而Ctrl-y仍按预期工作并拉取文本)和下一行 - Caps-n时(而Ctrl-n仍有效),会发生这种情况。

奇怪的是,如果 Caps 或y按键不起作用,它们单独也不起作用。但它们确实起作用 -y按键仍按预期键入y和提取文本。这让我相信,虽然按键被识别,Ctrl但它以某种方式被系统误解了。yCaps-lock

值得注意的是Caps-vAlt-功能完美, -和-v也是如此。对我来说,这表明问题明显与特定键绑定有关,而不是按键的一般故障。CtrlyAltvCaps-lock

我怀疑该问题可能与我系统上应用的 Emacs 主题相关的 GTK 设置有关。

感觉我的系统上有什么东西干扰了 Emacs 和 Chrome 中的 GTK 快捷方式正常运行。如果有人遇到过类似的问题或知道我应该如何继续调试这个问题,我可能需要你的帮助。

相关内容