Google Chrome 忽略 XmodMap 键映射

Google Chrome 忽略 XmodMap 键映射

我的笔记本电脑的向下箭头键卡住了,所以我使用 Xmodmap 使用以下命令删除该键的映射:

修改器映射 .Xmodmap

我的 .Xmodmap 文件的内容只有一行:

密钥代码 116 =

Ubuntu 中的所有程序(例如 gnome-terminal、xterm、Firefox、gedit)都尊重此映射。

然而,Google Chrome 忽略了这种映射,导致页面不断向下滚动或播放全屏视频时音量降低。

看着:

这两种情况都没有可用的解决方案。

解决方案来自https://github.com/dnschneid/crouton/wiki/键盘要禁用键盘布局管理,请使用以下命令:

gsettings 设置 org.gnome.settings-daemon.plugins.keyboard 处于活动状态 false

不适合我,因为我需要输入日语字符,所以我需要 IME 可以在英语和日语之间切换。

答案1

以下是我解决同一问题的方法,我将它放在这里以供遇到此问题的人参考。

我得到了答案这里

从命令行:

    sudo su

现在您必须找出卡住的键的扫描码。

    showkey -s

然后按下该键,它会给出两个扫描码:按下和释放。把它们记下来。或者,由于您的键卡住了,请查找重复的代码。对我来说,向下键有两个扫描码对:0xe0 0x50(按下)和 0xe0 0xd0(释放)。您必须缩写扫描码对并使用 setkeycodes 将其重新映射到新的键码:

    setkeycodes e050 255
    setkeycodes e0d0 255

这将在内核级别禁用向下箭头键,这应该可以防止 Chrome 出现问题。显然,Chrome 处理键盘输入的方式与 xmodmap 和 xkb 无关。这是故意做出的改变,以适应 Chrome 在 ChromeOS 中处理输入的方式。幸运的是,在内核级别禁用卡住的键可以在问题到达 Chrome 之前就阻止它。这对我来说很有效,可以阻止卡住的数字键盘 9 键造成严重破坏。

答案2

这个答案帮我解决了:

setxkbmap -option lv3:rwin_switch

然后再次运行 xmodmap 并重新启动应用程序。

答案3

问题 394552,其中一位用户指出,如果你将键盘映射设置为 Chromium 可以理解的键(例如字母键),它会尊重该键盘映射。

因此,从建议来看这里,我将向下箭头键设置为映射到 F18 键(据我所知,它永远不会被按下 :P)。所以我的 .Xmodmap 文件的内容现在是:

键码 116 = F18 F18 F18

我已经用这个新的键盘映射进行了测试,Chrome 现在似乎表现得像其他程序一样。

相关内容