Turn your Steam Deck into a joystick for your PC, with trackpad and gyro support!
Important
The server side will be treated as a game on Steam Deck, so you can't play Steam games on PC while the server side is running on Steam Deck with the same Steam account. You can still play non-Steam games on PC, or you can register a new Steam account for the server side.
- Switch to Desktop Mode on Steam Deck. All the following steps are done on Steam Deck in the desktop mode.
- Download
stickdeck-vX.X.X.zip
from the latest release and extract it. - Run
setup.sh
in the extracted folder. - Run
launch.sh
on Steam Deck, this should open a new window, but your input is not captured now. Close the window by tapping theExit
button. - Start
Steam
client (NOTReturning to Gaming Mode
) in the Desktop Mode. In your library, you should find a game calledSpacewar
. Edit its input mapping so that all the inputs are mapped to the correct game actions. - Run
launch.sh
again, clickStart Server
, now you should see the input when you press buttons or move joysticks on Steam Deck. - Now you can exit by tapping the
Exit
button. Next time you want to start the server, just runlaunch.sh
and clickStart Server
.
You can also add
launch.sh
as a non-Steam game on Steam Deck, so you can start the server directly from Steam Deck's Gaming Mode.
- Install ViGEm Bus Driver and restart your PC.
- Download
stickdeck-win-vX.X.X.zip
from the latest release and extract it.
- Start the server on Steam Deck. Make sure the server is running and the input is captured.
- Make sure your PC and your Steam Deck are in the same network.
- Make sure the client on your PC is under the same minor version as the server on Steam Deck.
- Run
launch.bat
on your PC. Once you seeVirtual controller is ready
in the console, StickDeck is ready. - (Optional) If you want to test the controller, run
joy.cpl
(which is a built-in Windows joystick test tool).
Note
By default the client will try to connect steamdeck:7777
. If you want to connect to a different server, you can edit launch.bat
, replace the steamdeck
with your server IP.
You can find the server IP on the first line of the StickDeck UI window while the server is started.
StickDeck supports mouse move, mouse buttons and mouse wheel. You can configure the trackpad and gyro to control the mouse movement or mouse wheel, and map any action to mouse buttons.
- Poll/update rate?
- Depends on the configurable input update interval. In my case, set the input update interval to 3ms to reach the max update rate of 250+Hz.
- Besides, the server side will only send the input when there is a change, so the actual update rate will be lower than the configured rate.
- You can checkout the actual update rate on the PC side by running
debug.bat
.