A demo project to read all SteamDeck input (including trackpad and gyro) via SteamInput without using a game engine.
- Switch to Desktop Mode on SteamDeck.
- Download
kontroller
from release page, or build it yourself. Put it in SteamDeck. - Put
redistributable_bin/libsteam_api.so
in the PATH (e.g./usr/lib
). - Copy
kontroller.vdf
into/home/deck/.local/share/Steam/controller_config
(create the folder if it doesn't exist), rename it togame_actions_480.vdf
. - Run
kontroller
on SteamDeck. This should open a new window, but your input can't be captured now. Close the window. - Start steam client on the Desktop Mode. In your library, you should find a game called
Spacewar
. Edit its input mapping. - Run
kontroller
again, you should get the input you want.
Note
You'd better build the project on SteamDeck.
cargo build --release
- Why not to use a game engine?
- This app doesn't need high quality UI update, but need to read input as fast as possible.
- Besides, I want the built binary to be as small as possible.
- What GUI library do you use?
- Why the name is
Spacewar
and the app id is 480?- 480 is a commonly used app id for testing for steamworks developers. The name
Spacewar
is the name for the app with app id 480.
- 480 is a commonly used app id for testing for steamworks developers. The name
- I tried to start the executable file on SteamDeck but no window shows up.
- Make sure you have
libsteam_api.so
in the PATH. - Start the executable in a terminal and show me the output by opening an issue.
- Make sure you have
- What if I just want to use joysticks and buttons?
- That is much easier. See my another project stickdeck.