Scorciatoie che disturbano il focus del canvas

Ho aggiunto un canvas WebGL in alto; l’input da tastiera funziona correttamente, ma ho un problema:
quando il canvas è a fuoco, Discourse continua a attivare le scorciatoie da tastiera.

È possibile disabilitare tutte le scorciatoie? In alternativa, c’è qualcosa che posso chiamare da JavaScript per gestire correttamente il focus?

Ho trovato una soluzione:

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 Mi Piace