From d2a59f695ecd67e0c6f513b265a04fe444f74c24 Mon Sep 17 00:00:00 2001 From: Richard Aasa Date: Thu, 10 Sep 2026 19:08:12 +0300 Subject: [PATCH] Bind only joypad button 0 for ui_accept confirm Simplify the confirm binding to just the standard button 0 (Xbox-style "A" / bottom face button) instead of also covering the Nintendo-layout right-hand position. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01MXBNaEBmrYDSMcv4NgUWtV --- systems/input/controls_manager.gd | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/systems/input/controls_manager.gd b/systems/input/controls_manager.gd index 4e4d3fe..17db707 100644 --- a/systems/input/controls_manager.gd +++ b/systems/input/controls_manager.gd @@ -30,16 +30,13 @@ func _ready() -> void: ## Godot's built-in ui_accept (menu/button confirm) ships with zero joypad bindings — ## checked directly: only Enter/Kp Enter/Space. ui_left/right/up/down, by contrast, do ## default to the D-pad and stick, which is why gamepad focus navigation on a menu works out -## of the box while "confirming" the focused button does nothing. Bind both the Xbox-style -## bottom face button (A, index 0) and the right-hand one (B, index 1 — physically labelled -## "A" on a Nintendo-layout pad, since SDL/browser gamepad mapping normalizes to Xbox -## *position*, not the printed label) so either the common "confirm" button works. +## of the box while "confirming" the focused button does nothing. Bind joypad button 0 (the +## bottom face button in Xbox-style position mapping) as the confirm button. func _ensure_gamepad_confirm_binding() -> void: - for button_index in [JOY_BUTTON_A, JOY_BUTTON_B]: - var alt := InputEventJoypadButton.new() - alt.button_index = button_index - if not InputMap.action_has_event(&"ui_accept", alt): - InputMap.action_add_event(&"ui_accept", alt) + var alt := InputEventJoypadButton.new() + alt.button_index = JOY_BUTTON_A + if not InputMap.action_has_event(&"ui_accept", alt): + InputMap.action_add_event(&"ui_accept", alt) # ── Web fullscreen + landscape lock ─────────────────────────────────────────────