From e8acd4c448664728b2cc9d76bc8cb7051c41b229 Mon Sep 17 00:00:00 2001 From: Pihkaal Date: Tue, 24 Feb 2026 00:17:10 +0100 Subject: [PATCH] fix(common): avoid duplicate key input coming from phyiscal buttons --- app/components/Common/Buttons.vue | 4 ++-- app/components/Contact/BottomScreen/Buttons.vue | 1 + app/components/Settings/BottomScreen/Menus/Menus.vue | 1 + .../Settings/BottomScreen/Menus/Options/Language.vue | 1 + .../Settings/BottomScreen/Menus/Options/RenderingMode.vue | 1 + 5 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/components/Common/Buttons.vue b/app/components/Common/Buttons.vue index 699127f..f68048a 100644 --- a/app/components/Common/Buttons.vue +++ b/app/components/Common/Buttons.vue @@ -6,6 +6,7 @@ const props = defineProps<{ opacity?: number; bLabel: string; aLabel: string; + noKeyboardA?: boolean; }>(); const emit = defineEmits<{ @@ -135,9 +136,8 @@ useKeyDown(({ key, repeated }) => { switch (key) { case "NDS_START": case "NDS_A": - emit("activateA"); + if (!props.noKeyboardA) emit("activateA"); break; - case "NDS_B": emit("activateB"); break; diff --git a/app/components/Contact/BottomScreen/Buttons.vue b/app/components/Contact/BottomScreen/Buttons.vue index 8b829b1..c1c2321 100644 --- a/app/components/Contact/BottomScreen/Buttons.vue +++ b/app/components/Contact/BottomScreen/Buttons.vue @@ -159,6 +159,7 @@ onRender((ctx) => { " :b-label="$t('common.quit')" :a-label="$t(`contact.actions.${BUTTONS[selected].action}`)" + no-keyboard-a @activate-a="handleActivateA(selected)" @activate-b="handleActivateB" /> diff --git a/app/components/Settings/BottomScreen/Menus/Menus.vue b/app/components/Settings/BottomScreen/Menus/Menus.vue index e0fae48..563f2c8 100644 --- a/app/components/Settings/BottomScreen/Menus/Menus.vue +++ b/app/components/Settings/BottomScreen/Menus/Menus.vue @@ -333,6 +333,7 @@ const handleActivateB = () => { :y-offset="store.barOffsetY + store.submenuButtonsOffsetY" :b-label="isSubmenuSelected ? $t('common.goBack') : $t('common.quit')" :a-label="$t('common.select')" + no-keyboard-a @activate-a="handleActivateA()" @activate-b="handleActivateB()" /> diff --git a/app/components/Settings/BottomScreen/Menus/Options/Language.vue b/app/components/Settings/BottomScreen/Menus/Options/Language.vue index 8b6ad6e..972e61a 100644 --- a/app/components/Settings/BottomScreen/Menus/Options/Language.vue +++ b/app/components/Settings/BottomScreen/Menus/Options/Language.vue @@ -225,6 +225,7 @@ defineOptions({ :y-offset="confirmationModal.buttonsYOffset + store.submenuButtonsOffsetY" :b-label="bLabel" :a-label="aLabel" + no-keyboard-a @activate-a="handleActivateA" @activate-b="handleActivateB" /> diff --git a/app/components/Settings/BottomScreen/Menus/Options/RenderingMode.vue b/app/components/Settings/BottomScreen/Menus/Options/RenderingMode.vue index 5fdc485..599ec47 100644 --- a/app/components/Settings/BottomScreen/Menus/Options/RenderingMode.vue +++ b/app/components/Settings/BottomScreen/Menus/Options/RenderingMode.vue @@ -196,6 +196,7 @@ onRender((ctx) => { :y-offset="confirmationModal.buttonsYOffset + store.submenuButtonsOffsetY" :b-label="bLabel" :a-label="aLabel" + no-keyboard-a @activate-a="handleActivateA" @activate-b="handleActivateB" />