WebGLキャンバスを上部に追加しました。キーボード入力は正常に機能しますが、問題が発生しています。
キャンバスがフォーカスされている場合でも、Discourseがキーボードショートカットをトリガーしてしまいます。
すべてのショートカットを無効にすることは可能でしょうか?あるいは、JavaScriptから呼び出してフォーカスを適切に管理できる何かはあるでしょうか?
WebGLキャンバスを上部に追加しました。キーボード入力は正常に機能しますが、問題が発生しています。
キャンバスがフォーカスされている場合でも、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();
}