Adicionei um canvas WebGL no topo, a entrada do teclado funciona bem, mas estou tendo um problema:
quando o canvas está em foco, o Discourse ainda aciona os atalhos de teclado.
É possível desativar todos os atalhos? Alternativamente, há algo que eu possa chamar do JavaScript para gerenciar o foco corretamente?
Encontrei uma solução:
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();
}