Atajos interfiriendo con el foco del lienzo

He añadido un canvas WebGL en la parte superior; la entrada del teclado funciona correctamente, pero tengo un problema: cuando el canvas está enfocado, Discourse sigue activando los atajos de teclado.

¿Es posible desactivar todos los atajos? ¿O hay algo que pueda llamar desde JavaScript para gestionar el enfoque correctamente?

He encontrado una solución:

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();
}
2 Me gusta