Add a player_controls config group that maps game actions to controller
inputs, and a Controller Options menu tab to rebind them in-headset.
- 45 actions: movement, click/double-click, jump, fire, and the engine's own
keyboard hotkeys (posture, save/load, weapon/MFD select, etc.), sent to the
engine as synthetic key events. Cheat and dead hotkeys are not exposed.
- Press-to-capture rebinding with per-input exclusivity, Reset to Defaults
(built-in defaults, then questshock.config.default.json), and new defaults:
left stick moves/strafes, right stick turns.
- Controller profiles for Touch, Vive and generic OpenXR
(res/controller_profiles/), matched to the active interaction profile at
runtime, with a fatal dialog if a profile's bindings are rejected at
startup.
- The menu's thumbstick locomotion is disabled while the Controller Options
tab is open or a capture is active. A scrollable list with a tap-to-jump
scroll bar handles the long action list.
- Opening the menu pauses a running game and resumes it on close.
- Reset Position now keeps the player's facing instead of turning the screen
to the current gaze.
- Play the intro video in the game's language (engine patch 23), falling back
to English.
- Watchdog and shared-key handling for stuck movement keys, plus key-edge
logging.