如何为所有应用程序(系统范围)禁用Ctrl + Q?


50

当我不小心按Ctrl+ Q而不是Ctrl+时,W由于键盘上的QW键的接近,许多应用程序(如Firefox,Chrome等)被关闭。有没有一种方法可以在系统范围内删除或重置此快捷方式?

Answers:


75

最好的方法是在特定应用程序中禁用键盘设置。对于Firefox,有一个扩展名keyconfig。这使您可以更改键盘设置。

如果要为整个系统禁用Ctrl+ Q,我建议进行一个新设置:

  1. 转到系统->首选项->键盘设置
  2. 点击添加
  3. 给它一个类似假设置的名称,然后输入/bin/false命令。应用您的更改。
  4. 单击“ 禁用 ”,然后按Ctrl+ Q

现在,您应该有了一个新条目,其中包含您的应用名称和键盘设置。每次按Ctrl+,Q系统将运行/bin/false基本上不执行任何操作的命令。因此,这是一种禁用设置的解决方法。


很棒的答案,以及您如何做样式的按钮快捷键!:)
贾丹主义

2
@jathanism:使用kbdhtml标签。
拉尔斯·豪格斯

4
当您要按时Ctrl-Q,窗口将关闭。使用这种方法你永远不能分配这个关键
安瓦尔

3
@AnwarShah-我刚刚尝试了此解决方案,它对我有用。
山姆·金

我在Archlinux上使用GNOME Shell 3.20.2,这对我有用。
aaaaaa

5

可能在系统->首选项->键盘快捷方式下插入快捷方式,然后“禁用”即可解决问题。


6
如果您不是100%肯定的话,则可以做些研究而不是简单地打字。发现它不存在会花费您2秒钟的时间。
LassePoulsen

1
好吧,如果您添加它,不是吗?也许我没有正确表达自己。但很显然,有一个简单的办法,因为它是为我工作。
mariachris

也许不是,但这仍然不是一种很好的方法...这样一来,您将永远无法使用Ctrl + W!例如在bash中,Ctrl + W表示向后删除单词。
LassePoulsen,2010年

它确实有效,而且正是所要求的。@LassePoulsen为什么CTRL + W会因此受到影响?
Murmel '16

3

您可以转到“系统”->“首选项”->“键盘快捷键”,然后将此组合分配给未使用的操作。例如,我分配了CTRL + Q来切换到工作区12(不,我没有12个工作区)。

结果,此系统范围的设置将覆盖应用程序一,并且CTRL + Q不再关闭Firefox(很有可能该组合永远不会到达Firefox)。它什么也没做。


有点不错,很容易解决,但我建议您使用浏览器的扩展程序。使用系统首选项覆盖系统范围内的Ctrl + Q,将导致某些应用程序无法使用该快捷方式-例如,您将无法在IntelliJ IDEA中使用Ctrl + Q来显示文档弹出窗口。
falconepl

好吧,问题是关于在整个系统范围内而不是每个应用程序禁用该应用程序;)。
哈维尔·里维拉,2015年

这就是为什么您从我这里得到+1的原因...;)
falconepl

3

如果Ctrl+ Q像我一样关闭键盘设置窗口,请将快捷方式设置为另一个值,然后关闭该窗口并等待直到更新的快捷方式出现在中~/.gconf/desktop/gnome/keybindings/*。打开该文件,然后编辑该stringvalue命令的读取<Primary>q。然后重启电脑。与接受的答案相反,这对我有用。


即使那样对我也不起作用。我尝试了以下操作:<?xml version =“ 1.0”?> <gconf> <entry name =“ action” mtime =“ 1369776357” type =“ string”> <stringvalue> / bin / false </ stringvalue> </ entry > <entry name =“ name” mtime =“ 1369776357” type =“ string”> <stringvalue> dummy2 </ stringvalue> </ entry> <entry name =“ binding” mtime =“ 1369776299” type =“ string”> < stringvalue>&lt; Primary&gt; q </ stringvalue> </ entry> </ gconf>
vishvAs vAsuki

1
我必须重新启动gnome会话,但这有效,谢谢!
vishvAs vAsuki 2014年

2

这是已经提供的GUI版本的命令行版本。在某些系统上,Ctrl + Q将关闭加速器输入窗口而不设置快捷方式,因此可能需要这样做:

gconftool-2 --type string --set /desktop/gnome/keybindings/inhibit_ctrl_Q/name "Inhibit Ctrl+Q"
gconftool-2 --type string --set /desktop/gnome/keybindings/inhibit_ctrl_Q/action /bin/false
gconftool-2 --type string --set /desktop/gnome/keybindings/inhibit_ctrl_Q/binding "<Primary>q"

请注意,此解决方案适用于gnome-2 / Unity。gnome-3的gsettings应该可能有类似的解决方案。


这些设置尽管在重启后保留,但似乎无法提供预期的行为(Ubuntu 14.04)。此外,在应用后,将Ctrl + Q快捷方式与Nautilus窗口一起使用会使其挂起/无响应。
falconepl


0

对我而言,在Ctrl+Q系统范围内禁用快捷方式并不是一个完美的解决方案,因为它会阻止在使用该快捷方式时通知除Firefox,Chrome等以外的应用程序-例如,IntelliJ IDEA Ctrl+Q用作默认绑定,以显示快速弹出的文档。起来

如果您正在寻找仅Firefox的解决方案,我强烈建议您禁用Ctrl-Q快捷插件。在我看来,这是一个比@qbi提到的keyconfig 更好的选项,因为它的源可在GitHub上获得,而keyconfig仅可作为二进制文件获得。


0

我当前的解决方法是在“系统设置”>“键盘”>“快捷方式”中创建一个新的快捷方式。如果不小心按下了快捷键,我们会收到一条提示信息。

  • 标题:戒烟预防
  • 命令: notify-send 'Dear idiot' "Don't press ctrl-Q"
  • 捷径: ctrl-q

但是,这将禁用整个命令系统,这可能是可以接受的折衷方案,具体取决于您的用例。


经过测试:

  • Ubuntu 16.04。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.