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 ─────────────────────────────────────────────