快捷方式干扰画布焦点

我在顶部添加了一个 WebGL canvas,键盘输入功能正常,但我遇到了一个问题:当 canvas 获得焦点时,Discourse 仍然会触发键盘快捷键。

能否禁用所有快捷键?或者,是否有我可以从 JavaScript 调用的方法来正确管理焦点?

我找到了一个解决方案:

const KeyboardShortcuts = require("discourse/lib/keyboard-shortcuts").default;
const Mousetrap = require("mousetrap").default;

var shortcutsContainer;

function EnableShortcuts()
{    
    if(shortcutsContainer == null)
        return;

    KeyboardShortcuts.init(Mousetrap, shortcutsContainer);
    KeyboardShortcuts.bindEvents();
}

function DisableShortcuts()
{ 
    if(KeyboardShortcuts != null)
        shortcutsContainer = KeyboardShortcuts.container;
        
    KeyboardShortcuts.teardown();
}