From 2c59e149c3173adffb655456fdb183be3c6e7245 Mon Sep 17 00:00:00 2001 From: Pihkaal Date: Wed, 25 Feb 2026 23:57:37 +0100 Subject: [PATCH] fix(nds): input fighting --- app/components/Controls.vue | 3 ++- app/composables/useKeyDown.ts | 10 ++++------ app/stores/app.ts | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/app/components/Controls.vue b/app/components/Controls.vue index 64ea814..d831524 100644 --- a/app/components/Controls.vue +++ b/app/components/Controls.vue @@ -38,7 +38,6 @@ onMounted(() => { ? 'opacity-100 text-highlighted' : 'opacity-50 hover:opacity-100', ]" - @keydown.up.prevent="open = true" /> @@ -51,6 +50,8 @@ onMounted(() => { :step="2" orientation="vertical" color="neutral" + @keydown.prevent + @mouseup="($event.target as HTMLElement).blur()" @update:model-value=" (v) => { app.settings.volume = (v ?? 100) / 100; diff --git a/app/composables/useKeyDown.ts b/app/composables/useKeyDown.ts index cddf325..ed27242 100644 --- a/app/composables/useKeyDown.ts +++ b/app/composables/useKeyDown.ts @@ -13,12 +13,10 @@ export const useKeyDown = (callback: KeyDownCallback) => { if (app.lagDetected) return; const ndsButton = mapCodeToNDS(event.code); - if ( - ndsButton && - document.activeElement && - document.activeElement !== document.body - ) - return; + if (ndsButton && document.activeElement && document.activeElement !== document.body) { + (document.activeElement as HTMLElement).blur(); + } + callback({ key: ndsButton ? `NDS_${ndsButton}` : event.key, ndsButton, diff --git a/app/stores/app.ts b/app/stores/app.ts index ea41b94..5c3644f 100644 --- a/app/stores/app.ts +++ b/app/stores/app.ts @@ -68,7 +68,7 @@ export const useAppStore = defineStore("app", { setRenderingMode(mode: Settings["renderingMode"]) { this.ready = mode === "2d"; this.settings.renderingMode = mode; - if (mode === "3d") this.lagDetected = false; + this.lagDetected = false; this.save(); },