diff --git a/packages/frontend/src/boot/main-boot.ts b/packages/frontend/src/boot/main-boot.ts index 3d4ecbf75b..77a5b0df19 100644 --- a/packages/frontend/src/boot/main-boot.ts +++ b/packages/frontend/src/boot/main-boot.ts @@ -405,7 +405,13 @@ export async function mainBoot() { allowRepeat: true, }, } as const satisfies Keymap; - window.document.addEventListener('keydown', makeHotkey(keymap), { passive: false }); + const listener = makeHotkey(keymap); + window.document.addEventListener('keydown', listener, { passive: false }); + + // TODO: よりマシな無効化方法を提供する + (window as any).disableGlobalHotkeys = () => { + window.document.removeEventListener('keydown', listener); + }; initializeSw(); } diff --git a/packages/frontend/src/pages/rooms/room.core.vue b/packages/frontend/src/pages/rooms/room.core.vue index c4f16bab0f..ea51b9ea1b 100644 --- a/packages/frontend/src/pages/rooms/room.core.vue +++ b/packages/frontend/src/pages/rooms/room.core.vue @@ -315,6 +315,9 @@ onMounted(async () => { watch([graphicsQuality, fps, resolution, antialias], () => { refresh(); }); + + // canvasからフォーカスが外れていることに気づかずsとか押してしまうと検索画面が開かれてroomの状態が失われたりするので無効化 + (window as any).disableGlobalHotkeys(); }); onDeactivated(() => {