如何让 AltGr 在特定情况下表现得像常规 Alt?

如何让 AltGr 在特定情况下表现得像常规 Alt?

编辑:这个问题曾经以

我有一个德语键盘布局AltGr+Q,例如,结果是@

此后我改变了键盘和布局,但问题行为仍然类似。


我有一个俄语键盘布局AltGr+8,例如, 的结果是。这是理想的,因为在这个布局中没有其他方法可以输入这个符号。然而,在 Chrome 等应用程序中,它AltGr+Left不会导致在历史记录中后退一步,而左 Alt 键 ( Alt+Left) 可以正常工作。

这里的许多解决方案展示了如何让 AltGr 表现得像常规 Alt 键,但这会禁用其第三级功能。是否可以保留此第三级功能,但在某些情况下,例如 Google Chrome 的情况,让它表现得像常规 Alt?

我正在运行 Ubuntu 18.04,以 Gnome 作为桌面管理器。

附加信息:

$ /opt/google/chrome/chrome --version
Google Chrome 97.0.4692.71 unknown
$ apt-cache policy google-chrome-stable 
google-chrome-stable:
  Installed: 97.0.4692.71-1
  Candidate: 98.0.4758.80-1
  Version table:
     98.0.4758.80-1 500
        500 http://dl.google.com/linux/chrome/deb stable/main amd64 Packages
 *** 97.0.4692.71-1 100
        100 /var/lib/dpkg/status

选择的键盘布局:

  1. 英语(美国) -> 英语(美国) 英语(美国) -> 英语(美国) Ubuntu 的键盘布局

  2. 俄语 -> 俄语 俄语 -> 俄语 Ubuntu 的键盘布局

  3. 实际键盘的照片

答案1

加起来:

  • 测试物理 kb 与所选布局是否不同(见下文)是否会带来混淆;如果没有:

  • 完全识别您的问题布局(以便我可以测试)或自己测试下面提到的我的一个键盘并判断是否受到问题的影响;如果它们受到影响,那么这就是 Chrome-on-Gnome 问题,我们将从那里继续(修复 Chrome?修复 Gnome?)

  • 想象一下我们没有其他解决方案,您必须在禁用 ALTGR 作为第 3 级键(可能启用其他键)和在使用 Chrome 导航时更改为不受该问题影响的另一个 kb 布局之间进行选择。

无论如何,你的问题标题的初始形式(如何让 AltGr 在特定情况下表现得像常规 Alt?) 无法收到解决方案,它太过笼统,应该更像“Chrome AltGr-Arrows 快捷键在 Gnome 的某些布局中不起作用”。


更新(考虑到这一点后才阅读其余内容):

仔细观察我发现你选择的布局有 AltGr,而物理布局有 CTRL,而且所选布局已另一个 3 级键,在物理上是 AltGr。这怎么可能不成问题?这怎么可能?当您说 Altgr 时,您指的是哪个键?(写有 CTRL 的物理按钮或写有 ALTGR 的按钮?都充当 ALTGR 吗?)

在此处输入图片描述

所有这些都变得非常令人困惑并且——如果您期待一个答案(以及其他人付出的更多努力),您应该澄清这样的基本事情。

只有弄清楚上述内容后,继续做剩下的事情才有意义。

这个答案应该被视为临时的答案 - 其中包含适合评论的部分,但我发现现在将它们发布在这里更容易(我会进行相应的编辑)。


看来 Chrome (与 Firefox 不同)应该能够检测是否选择了输入字段(可以使用特殊字符)。(使用不同的键盘布局进行测试,包括两种德语键盘布局——“德语-死尖音”和“德语(语言)-英语(布局)-带有 AltGr 死键的国际键盘布局”——我可以确认 Chrome 中的 AltGr保留作为键入您提到的特殊字符的修饰符(因此不能与箭头一起使用)但仅当选择输入字段时, 然后否则可以用作普通 Alt

浏览器所做的就是保留三级密钥,其中默认是 AltGr,当 kb 布局需要该键时。但这不会影响默认快捷方式在我的系统上:我还没有找到可以复制你的问题的布局。

我们必须首先确定问题:它是布局特定的,还是(您的)Chrome 和/或系统特定的?

你必须检查 Chrome 是否确实在所有涉及 AltGr 作为第三级修饰符的布局中都存在这个问题。(为此,您可以尝试我的一种符合条件但不会在我的系统上触发问题的布局:带有死键的美国英语国际版、法语(法语)、罗马尼亚标准版。(那是因为我仍然无法从您那里获得您现在使用的确切布局!)

如果使用这些布局仍然有问题,那么我们就可以确定你的问题出在你的系统或 Chrome 版本上。(我我认为 Chrome 版本存在问题。)


无论如何,从实际目的来看,您的问题与我上面链接的 Firefox 问题类似(甚至是重复的),答案也不会有太大不同:

  • 通过选择 右 Alt 键永远不会选择第三级在下面选择第 3 级的键- KDE 示例这里,适用于 Gnome这里,因此它不再被保留,并且 AltGr-Arrow(用于导航历史记录)应该可以与任何 kb 布局一起使用。

  • 为了引入第三级键来替代 AltGr,在选择 之后Right Alt key never chooses 3rd level,您可以选择一个新的key to chose the 3rd level,并使用它来代替 AltGr 在有问题的 kb 布局中键入特殊字符。(此解决方案的问题在于,新的第三级键失去了其作为修饰符的其他用途(例如,在此网站Ctrl+L=hyperlinkCtrl+K=code选定的文本上,如果选择 Right_Ctrl 作为第三级选择器,则 Right_Ctrl 停止工作,而 Left_Ctrl 则有效。)因此,我们应该寻找一个可以替代 Altgr 的不太重要的键。我选择了 CapsLock,并使用 shift+键输入大写字母。)


这个问题的问题在于它仍然太过笼统。您笼统地说的是特定情况,但实际上它与 Chrome 中的 AltGr-Arrow 快捷键有关。问题应该是这样的:不是所有情况,而是 Chrome,特别是 Chrome 中的默认快捷键在按下第 3 级 AltGr 时停止工作,就像(在我的情况下)在 Firefox 中一样。从这个意义上说,您的问题看起来像是我的问题的重复,只不过它与 Chrome 有关,而不是 Firefox。您可能不喜欢我的问题下的答案,但如果 Chrome 确实受到相同问题的影响,您可能别无选择。

除了设置中的解决方案外,我无法想象一个通用的解决方案,让用户能够在 AltGr 的两种不同状态(作为第三级修饰符或不是)之间快速切换,即使这样也会非常麻烦。(那会是什么?切换另一个快捷方式可能性的快捷方式?)这不是问题。在我能够测试的所有系统上(Kubuntu 20.04 和 22.04、Linux Mint Xfce 20 和 Windows 10)Google Chrome 将 AltGr 保留为第三级键,但不会禁用浏览历史记录的默认快捷方式。

对我来说,谜题仍然是 Chrome 为何在你的系统上表现不同。为了接近答案,我们必须排除布局是罪魁祸首。

相关内容