위쪽에 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();
}