34 lines
1.7 KiB
Markdown
34 lines
1.7 KiB
Markdown
# Template - adding a new game
|
|
|
|
Copy this whole folder to `../<game-name>/` and work through it top to
|
|
bottom.
|
|
|
|
1. **`joyful-config.yml`** - bare 1:1 passthrough (every physical
|
|
control mapped straight through, no remapping, no key emulation).
|
|
Run `find_codes.py` (repo root) against the hardware and fill in
|
|
every `TODO_*`. Get the game running with this first, so you have a
|
|
known-good baseline before customizing anything.
|
|
2. 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).
|
|
3. **Do you need `input_converter_daemon.py` at 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, delete `input_converter_daemon.py`,
|
|
`TODO-daemon-config.yaml` (once created), and the daemon block in
|
|
`launch-wrapper.sh` - joyful alone is enough, and you're done after
|
|
step 2.
|
|
4. 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 with
|
|
`input_converter_daemon.py --sample X,Y`. Point
|
|
`launch-wrapper.sh`'s `DAEMON_CONFIG` at it.
|
|
5. **`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.
|