From f982785850c2793a043be7efd44ada5e13011357 Mon Sep 17 00:00:00 2001 From: Leo Vasanko Date: Wed, 27 May 2026 14:28:08 +0000 Subject: [PATCH] Fix HexKeyboard X/Y gamepad keypress animations --- frontend/src/components/HexKeyboard.vue | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/frontend/src/components/HexKeyboard.vue b/frontend/src/components/HexKeyboard.vue index 86fe7a5..d0c99f9 100644 --- a/frontend/src/components/HexKeyboard.vue +++ b/frontend/src/components/HexKeyboard.vue @@ -236,6 +236,13 @@ function handleKeyClick(key: KeyDef) { } } +function activateKeyById(keyId: string): boolean { + const key = layoutKeys.find((candidate) => candidate.id === keyId) + if (!key) return false + handleKeyClick(key) + return true +} + function close() { emit("close") } @@ -436,18 +443,14 @@ function onRawGamepad(event: Event) { // X button = backspace (button 2) if (button === 2) { event.preventDefault() - const bsIndex = layoutKeys.findIndex((k) => k.id === "bs") - if (bsIndex !== -1) triggerPress(bsIndex) - emit("update:modelValue", props.modelValue.slice(0, -1)) + activateKeyById("bs") return } // Y button = space (button 3) if (button === 3) { event.preventDefault() - const spIndex = layoutKeys.findIndex((k) => k.id === "sp") - if (spIndex !== -1) triggerPress(spIndex) - emit("update:modelValue", props.modelValue + " ") + activateKeyById("sp") return }