谷歌浏览器忽略 XmodMap 键映射

cri*_*tre 7 keyboard google-chrome xmodmap

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

xmodmap .xmodmap

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

键码 116 =

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

但是,谷歌浏览器会忽略此映射,导致在播放全屏视频时页面不断向下滚动或音量减小。

看着:

两者都没有可用的解决方案。

来自https://github.com/dnschneid/crouton/wiki/Keyboard的解决方案禁用键盘布局管理:

gsettings 设置 org.gnome.settings-daemon.plugins.keyboard active false

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

jam*_*esb 2

这是我解决同一问题的方法,我将其放在这里供遇到此问题的任何人使用。

我从这里得到了答案。

从命令行:

    sudo su
Run Code Online (Sandbox Code Playgroud)

现在你必须找出被卡住的按键的扫描码。

    showkey -s
Run Code Online (Sandbox Code Playgroud)

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

    setkeycodes e050 255
    setkeycodes e0d0 255
Run Code Online (Sandbox Code Playgroud)

这将在内核级别禁用向下箭头键,这应该可以防止 Chrome 出现问题。显然,Chrome 处理键盘输入的方式在某种程度上独立于 xmodmap 和 xkb。这是为了适应 Chrome 在 ChromeOS 中处理输入的方式而特意进行的更改。幸运的是,在内核级别禁用卡住的按键可以在问题到达 Chrome 之前就解决它。这对我来说很有用,可以阻止卡住的数字键盘 9 键造成严重破坏。


cri*_*tre 1

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

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

键码 116 = F18 F18 F18

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