1.7 KiB
1.7 KiB
Template - adding a new game
Copy this whole folder to ../<game-name>/ and work through it top to
bottom.
joyful-config.yml- bare 1:1 passthrough (every physical control mapped straight through, no remapping, no key emulation). Runfind_codes.py(repo root) against the hardware and fill in everyTODO_*. Get the game running with this first, so you have a known-good baseline before customizing anything.- Customize the mapping for what the game actually needs: axis
remaps, key emulation for toggles, buttons bound in the game's own
control menu, etc. See
../space-engineers/for a worked example (including the "throttle read as a trigger" class of bug this exists to fix). - Do you need
input_converter_daemon.pyat all? Only if some physical control is a real on/off switch (not a momentary button) and the game only exposes the equivalent action as a stateless toggle key. If every control you're mapping is a stateless passthrough, deleteinput_converter_daemon.py,TODO-daemon-config.yaml(once created), and the daemon block inlaunch-wrapper.sh- joyful alone is enough, and you're done after step 2. - If you do need it: rename the example config
(
input_converter_daemon.py --dump-example-config > <game>-daemon-config.yaml), fill in real evdev codes (find_codes.py), confirm the game's actual toggle keybinds in its own settings menu (never assume defaults), and calibrate HUD regions/colors withinput_converter_daemon.py --sample X,Y. Pointlaunch-wrapper.sh'sDAEMON_CONFIGat it. launch-wrapper.sh- set as the Steam launch options:/path/to/<game>/launch-wrapper.sh %command%. Per-machine, not synced by Steam - repeat on every machine.