有没有一种方法可以禁用和替换Google Chrome浏览器中的快捷键命令。我想在只能访问一个站点的公共计算机上使用Chrome。因此,我想禁用诸如Ctrl Tab,Ctrl T,Alt F4之类的键,并且我想将F11更改为Ctrl Shift全屏模式yxbdShift从xkbd>
网络上的设置会阻止除特定域之外的所有内容,但现在我想阻止用户退出浏览器。
- 显然,Chrome OS是答案;-p
-
编写自己的浏览器可能更简单。
-
这是其他一些答案:askubuntu.com/questions/162700/…
我知道这个问题已经很老了,但是我找到了一个对我有用的解决方案(可能还有许多其他解决方案)。
如果根本不使用浏览器中的CTRL和ALT键,则可以在操作系统本身中将其禁用。
在Linux下,我使用xmodmap -pke来找出哪个键映射到了哪个代码。
知道键码后,我使用了:
1 2
| xmodmap -e"keycode 37 ="
xmodmap -e"keycode 105 =" |
禁用左右CTRL键(以防止出现类似CTRL W,CTRL T之类的东西),然后使用:
1 2
| xmodmap -e"keycode 133 ="
xmodmap -e"keycode 134 =" |
左右SUPER键(Windows键)(以防止打开开始菜单和此类奇特的东西)
然后最后使用xmodmap -e"keycode 105 ="我禁用了ALT键(以防止ALT F4等)。
并且(可选)我们也可以禁用F1,以使Chrome支持页面无法打开,显示以下内容:xmodmap -e"keycode 67 ="
最后,让我们使用Kiosk模式将Chromium或Chrome锁定其余部分:
1
| chromium-browser --kiosk http://example.com/ |
或
1
| google-chrome --kiosk http://example.com/ |
在信息亭模式下,右键单击已被禁用,因此我们无需在此进行任何更改。
完成所有这些操作后,最终用户只能使用鼠标在预定义的网页(当然,以及指向其他内容的链接)中导航,并使用键盘上的普通字符编写内容,但仅此而已。
仍然可以重新加载(F5),但即使重新加载也可以通过以下方式禁用:xmodmap -e"keycode 71 ="
警告:请先执行xmodmap -pke,以发现您的键盘或操作系统是否具有相同的键映射,否则您可能会不知不觉地禁用其他普通键。
警告2:请注意,如果您已完成上述所有操作,然后在信息亭模式下启动Chrome或Chromium,您将无法再退出!只有物理上按下电源按钮或通过SSH或Telnet终止应用程序,您才能再次恢复正常操作。
要使这些更改永久生效,请阅读本指南的结尾:
https://stackoverflow.com/a/11219056/3525780
编辑:对于那些在禁用F1,F5等键时遇到问题的人,请使用以下解决方法:
1
| xmodmap -e"keycode 67 = Escape" |
(以某种方式需要将那些" F键"分配给一个已经存在且已分配的键)
-
>> And optionally, we can disable F1 too, so that the Chrome Support Page doesn't open, with: xmodmap -e"keycode 67 ="尝试过并且仍然可以使用F1。还尝试了以下这些:xmodmap -e"keycode 67 = NoSymbol" xmodmap -e"keycode 67 = 0x00000" xmodmap -e"keycode 67 = F2"
-
@Drey我刚刚发现F1实际上不受xmodmap的影响,它仍然会打开"帮助"页面...我正在寻找解决方案...
-
@Drey解决了。无论出于何种原因,都必须将键码67设置为现有键。我将我的代码设置为ESC:xmodmap -e"keycode 67 = Escape"。现在帮助消失了。
-
感谢您的快速回复,Fusseldieb。对此,我真的非常感激。我已经尝试映射到End / Home,而现在我尝试了以下几行:xmodmap -e"keycode 67 = Escape" xmodmap -e"keycode 69 = F1"。 F1和F3都正常工作(分别为"帮助"和"搜索")。 xmodmap -pke在这些行之后显示keycode 9 = Escape NoSymbol Escape keycode 67 = Escape NoSymbol Escape keycode 69 = F1 NoSymbol F1
-
意识到整个xmodmap东西对我来说不再起作用=(以前,我使用以下几行成功禁用了Ctrl / Alt / Super修饰符:xmodmap -e"clear mod1",xmodmap -e"clear control",xmodmap -e"clear lock",xmodmap -e"clear mod4"。现在Alt再次在chrome中工作。用xmodmap -pm检查显示所有修饰符已清除(Shift键除外):xmodmap: up to 2 keys per modifier, (keycodes in parentheses): shift Shift_L (0x32), Shift_R (0x3e) lock control mod1 mod2 mod3 mod4 mod5 。我真的很沮丧...
-
设法像您的答案一样阻止alt修饰符,但是无论我做什么,F键仍然可以访问。
-
@Drey Strange ...在这里,它现在就像一种魅力。似乎很明显,但是您的键盘可以使用FN键吗?尝试禁用它(在BIOS中,如果它是笔记本电脑)。
-
Fusseldieb,使用台式机键盘,没有FN键。用xev检查了键码。正如我之前提到的那样:xmodmap -pke在这些行keycode 9 = Escape NoSymbol Escape,keycode 67 = Escape NoSymbol Escape,keycode 69 = F1 NoSymbol F1之后显示。绑定到现有密钥,但仍然没有运气(
-
还尝试了另一种形式:keysym F1 = Escape。 xmodmap -pke显示keycode 67 = Escape NoSymbol Escape,但是F1仍然调用帮助页面。
-
详细信息:我不会在远程服务器上运行X11,而只能在带有启动脚本的Xvnc(内部镀铬)上运行。似乎这是F *键使用xmodmap重新映射功能的根本原因。是否有可能在不安装X11 WM的情况下阻止F键的情况?
-
太好了,非常感谢!不幸的是,Gnome使更改变得永久性很困难(bugzilla.gnome.org/show_bug.cgi?id=721873)。需要使用参数-display :0使其在X会话之外工作。这个答案值得更多的赞扬。
-
如果选择此方法,用户将无法复制和粘贴?另外,这对于Windows Tablets上的虚拟按钮是否起作用?
最近遇到了相同的信息亭类型的问题(并且无法禁用Chrome中的所有键),我最终找到了一个可以共享的解决方案:
使用node-webkit,我创建了以下package.json文件:
1 2 3 4 5 6 7 8
| {
"name" :"mykiosk",
"window" : {
"fullscreen" : true,
"toolbar" : false
},
"main" :"http://the-one-and-only-allowed.url/"
} |
启动:./nw
所有功能键均被锁定。 Ctrl N / T不创建选项卡。很好
最后一个禁用右键单击上下文菜单的javascript / onload技巧:
1 2 3 4 5
| window.oncontextmenu = function(ev) {
ev.preventDefault();
ev.stopPropogation();
return false;
} |
-
不错,您的解决方案可以停止Windows上除alt f4组合键之外的所有内容,也许我可以用alt-f4的捕获事件来编译nw的版本?
-
我从未尝试过Windows。我不知道有什么方法可以防止alt-f4杀死窗口。如果您设法编译了一个捕获alt-f4的nw版本,那么我将有兴趣尝试一下。
Chrome具有Kiosk模式,但不会阻止用户使用OS键盘快捷键(例如ALT F4,它们不是Chrome的一部分,Windows可以处理)。要在信息亭模式下启动它,请使用以下参数运行它:
1
| chrome.exe --kiosk http://www.google.com |
我的公共图书馆实际上做得非常棒:他们在自己的信息亭上安装了一个极小的Debian版本,并在每一个上运行Google Chrome。没有关闭按钮,也没有桌面可进入,因此这实际上阻止了所有CTRL ALT DELETE黑客。 ALT F4也不起作用,通过右键单击关闭浏览器会立即打开另一个浏览器。
但是他们忘了摆脱GRUB的10秒超时,这使用户(嗯,我)进入恢复模式-_-,所以我正在与他们合作以解决此问题...
我会认真考虑Linux,因为您可以在多台计算机上快速安装它,而基本上无需考虑病毒和安全性。但缺点是您没有"管理员面板"来进行调整。您必须先拨出nano(对不起,不能习惯vim)并编辑一些配置文件。
- 您能否详细介绍一下您的公共图书馆,他们是如何禁用Alt F4的?
-
似乎即使在Kiosk模式下,Chrome仍允许使用Ctrl-T,Ctrl-N和Ctrl-W之类的快捷方式。有什么想法吗?
-
@LeeOlayvar:为此,您可以使用Qt4的QWebkit小部件制作一个简单的全屏浏览器。它只接受右键单击,您也可以将其禁用,因此您唯一需要担心的是键盘输入和导航,但这并不难解决。
-
我想您是在谈论这个问题:Ubuntu作为信息亭,对吗?
对于使用52.0.2743版本的我来说,--kiosk标记不起作用,但是--app =" http://www.example.com"可以满足我的要求。 (禁用了Chrome键盘快捷键,因此我可以毫无问题地使用shellinabox nano。)
也可以在Chrome Canary上使用(对于该功能,--kiosk标记也无效)。
其他可能有用的链接:
Chrome支持人员如何制作Kiosk应用程序:https://support.google.com/chrome/a/answer/3316168?hl=zh_CN
Chrome资讯站应用程式:https://chrome.google.com/webstore/detail/kiosk/afhcomalholahplbjhnmahkoekoijban?hl = zh-TW