我知道这个问题已经很老了,但我找到了一个对我有用的解决方案(可能还有很多其他问题)。
如果您根本不使用浏览器中的 CTRL 和 ALT 键,则可以在操作系统本身中禁用它们。
在 Linux 下,我使用xmodmap -pke 来找出哪个键映射到哪个代码。
知道键码后,我使用了:
xmodmap -e "keycode 37 = "
xmodmap -e "keycode 105 = "
禁用左右 CTRL 键 (以防止 CTRL+W、CTRL kbd>+T等),然后用:
xmodmap -e "keycode 133 = "
xmodmap -e "keycode 134 = "
左右 SUPER 键(Windows 键)(防止打开开始菜单等花哨的东西)
最后用xmodmap -e "keycode 105 = "我禁用了ALT键(以防止ALT+F4等)。
我们也可以选择禁用 F1,这样 Chrome 支持页面就不会打开,使用:xmodmap -e "keycode 67 = "
最后,让 Chromium 或 Chrome 使用 Kiosk 模式为我们锁定其余部分:
chromium-browser --kiosk http://example.com/
或
google-chrome --kiosk http://example.com/
并且在 kiosk 模式下右键已经被禁用,所以我们不需要在那里进行任何更改。
完成所有这些后,最终用户只能在预定义的网页中使用鼠标导航(当然还有指向其他内容的链接),并在键盘上用普通字符写东西,但仅此而已。
仍然可以重新加载 (F5),但即使这样也可以通过以下方式禁用:xmodmap -e "keycode 71 = "
注意:请先执行xmodmap -pke,看看您的键盘或操作系统是否有相同的按键映射,否则您可能会在不知情的情况下禁用其他普通按键。
警告 2:请注意,如果您已完成上述所有操作,然后在 Kiosk 模式下启动 Chrome 或 Chromium,您将无法再退出!只有物理按下电源按钮或通过 SSH 或 Telnet 终止应用程序才能让您再次恢复正常操作。
要使这些更改永久生效,请阅读本指南的末尾:
https://stackoverflow.com/a/11219056/3525780
编辑:对于那些在禁用 F1、F5 等键时遇到问题的人,请使用以下解决方法:
xmodmap -e "keycode 67 = Escape"
(不知何故,那些“F 键”需要分配给一个已经存在且已分配的键)