我的笔记本电脑的向下箭头键卡住了,所以我使用 Xmodmap 使用以下命令删除该键的映射:
修改器映射 .Xmodmap
我的 .Xmodmap 文件的内容只有一行:
密钥代码 116 =
Ubuntu 中的所有程序(例如 gnome-terminal、xterm、Firefox、gedit)都尊重此映射。
然而,Google Chrome 忽略了这种映射,导致页面不断向下滚动或播放全屏视频时音量降低。
看着:
- https://code.google.com/p/chromium/issues/detail?id=394552
- https://superuser.com/questions/876515/chromium-is-recognising-keys-that-ive-disabled-with-xmodmap
这两种情况都没有可用的解决方案。
解决方案来自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 键造成严重破坏。