Spike: Gamepad Input Feasibility for Dead Reckoning
Goal: Confirm that Godot 4's input system can support controller navigation for a menu-driven terminal UI, and identify any rough edges before we commit to it.
Questions to answer:
- Can
InputEventJoypadButton/InputMapactions coexist cleanly with the existing keyboard bindings, or do they conflict? - Does Godot's built-in
Controlfocus system (d-pad →ui_up/down/left/right) work well enough for navigating our terminal screens, or do we need custom focus logic? - How reliable is hot-plug detection (
Input.joy_connection_changed)? Does it behave on Windows, Mac, and Linux without extra configuration? - Does
Input.start_joy_vibrationwork on common controllers (Xbox, DualSense) without a plugin? - Can we detect "last input device used" reliably enough to swap keyboard vs. gamepad prompt glyphs at runtime?
Definition of done: A throwaway scene with two focusable buttons and a label. Plugging in a controller navigates between them, A confirms, B cancels, prompts update to show gamepad glyphs, and a short rumble fires on confirm. Hot-plugging during the scene doesn't crash or freeze.
Time-box: 2 hours.
