在 Firefox 中禁用 ctrl-b 键盘快捷键?

Disable ctrl-b keyboard shortcut in Firefox?

作为 tmux 用户,有很多 Ctrl+b 正在进行。还有很多火狐。

可以肯定地说,我从来都不想看到书签竖条。不感兴趣。 20 年来从未使用过任何计算机。

有什么方法可以在不使用插件的情况下在 Firefox 中禁用 Ctrl+b 吗?

关于此的许多主题和 none 似乎都有效,所以我只是手推了一些似乎确实有效的东西。这只是 JavaScript,为清楚起见没有 try/catch 块。

目标:在contentEditable中DIV,防止Firefox处理Ctrl-B,所以我们可以用它来设置文本内容为粗体。

基本思想是在正文处停止传播(抑制气泡上升到浏览器),同时在控件中设置粗体(允许气泡下降到正在 div 中编辑的文本)。解决方案仅限 FF,因为这是问题所在,但我可以根据要求将其扩展到 Webkit 和 IE。

HTML:

<body onkeydown="bodyKeyHandler(this, event);">
    <div contentEditable="true" onkeydown="editorKeyHandler(event);"></div>
</body>

JAVASCRIPT:

function bodyKeyHandler(o,e) {
    var c = e.ctrlKey;
    var k = e.which;
    if (e.ctrlKey) { 
        switch ( k ) {
            case 17:
                e.preventDefault();
                o.stopPropagation();
                break;
        }
    }
}

function editorKeyHandler(e) {
    var c = e.ctrlKey;
    var k = e.which;
    if (c) { 
        switch ( k ) {
            case 17:
                document.execCommand("bold");
                break;
        }
    }
}

一个重要的警告,当在 FF 中摆弄这个时,注入 alert() 以查看发生了什么会破坏它,因为警报弹出窗口将捕获事件并将其冒泡到浏览器!要查看它是否正常工作,请删除所有跟踪。

从 Firefox 72 开始,这需要用 autoconfig.js 完成。参见 Firefox documentation and example usage

旧方法:这可以使用 userChrome.js

来完成

使用以下代码:

var key = document.getElementById('viewBookmarksSidebarKb');
if (key) key.remove();

致谢 - 由于这个答案,我找到了这个 https://superuser.com/questions/1318336/how-to-disable-ctrlq-shortcut-in-firefox-on-linux/1348082#1348082

我已经能够使用 Shortkeys 扩展禁用 Ctrl+B 快捷方式。

它的配置可能有点麻烦,所以这里有一个快速指南:

  • 在扩展页面 (about:addons) 中,单击快捷键条目旁边的 ... 菜单,然后 select“首选项”
  • 添加一个新的快捷方式:
    • 在“快捷方式”列中,键入“Ctrl+B”。
    • 在“标签”列中,输入类似“禁用书签边栏”的内容。
    • 在“行为”列中,select“什么都不做”条目
  • 不要忘记点击页面底部的保存快捷方式按钮!

注意:这仅适用于网页上下文。如果您在光标位于例如在 URL 栏或搜索栏中。但对我来说已经是很大的进步了!