- Docs/controls.md: full binding table + headless input-test note. - AGigLineHUD: draw a control legend bottom-right every frame (WASD move / Mouse look / Space jump / R reset / Esc pause). - Verified on the packaged Development build: launches straight into DemoMap, no missing-asset or linker errors; controls text confirmed in the capture (bottom-right bbox 426x12 px). Evidence in Docs/release-checks.md + Docs/perf/0.1.0-packaged-hud-controls.png.
1.3 KiB
1.3 KiB
Controls (0.1.0 walkable demo)
Keyboard and mouse. The same list is shown in-game, bottom-right of the frame
(AGigLineHUD), and the packaged Linux build ships with these bindings.
| Action | Key | Notes |
|---|---|---|
| Move forward | W |
4 m/s walk |
| Move back | S |
|
| Strafe right | D |
|
| Strafe left | A |
|
| Look | Mouse | Captured on launch; Escape releases it |
| Jump | Space |
|
| Reset to start | R |
Returns to the grounded spawn point |
| Pause / release mouse | Escape |
Second press resumes and recaptures the mouse |
Notes
- Movement is relative to where you are looking (controller yaw), so the capsule stays upright on the sloped street.
- The mouse is captured on launch, so looking works without clicking first.
Escapetoggles the capture as part of pause. - Bindings are Enhanced Input actions in
/Game/Inputbuilt byTools/ue_create_input_assets.py; the mapping context isIMC_Default.
Testing input without a physical keyboard
Tools/input_test.py injects OS-level keyboard/mouse events through a virtual
/dev/uinput device (see Tools/input_emulation.py), e.g.:
python3 Tools/input_test.py --sequence move:2,look:3
It drives the focused game window exactly like real hardware, which is how the controls were regression-tested on the packaged build.