it-swarm.cn

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

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

49
Khaja Minhajuddin

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

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

  1. 转到系统->首选项->键盘设置
  2. 单击添加
  3. 给它起一个类似fake setting的名称,并输入/bin/false作为命令。应用您的更改。
  4. 单击'Disabled'并按 Ctrl+Q

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

73
qbi

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

4
mariachris

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

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

3
Javier Rivera

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

3
Fluffy

这是已经提供的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应该可能有类似的解决方案。

2
fuzzyBSc

在具有Firefox Quantum的Linux上,当前存在 bug ,可防止扩展名和显式配置更改诸如ctrl-Q之类的内置快捷方式。一种解决方法是通过例如在系统级别阻止它。从 https://github.com/sasawat/firefox-ctrl-q-workaround 安装脚本并将其分配为ctrl-Q的操作作为全局快捷方式。

1
JanKanis

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

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

0
falconepl

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

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

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


经过测试:

  • Ubuntu 16.04。
0
Daniel