Steam Link

Steam Link

Controller input - steam input, windows input, link input, highly confused and doesn't work
Hi there,
I'am trying to play a non-steam game (the game itself has full controller support) via steam link using a xbox controller.
Steam looses focus of the game window when I start it.
So my steam status is "online" istead of "ingame" and the steam overlay doesn't work.
However when I play locally on the PC without steam link, the xbox controller connected to the PC itself works just fine.

Not so when I try to play via steam link.
Steam link is running on a raspberry pi and the same xbox controller is connected via bluetooth to the raspberry.
Steam (or steam link?) doesn't seem to forward the controller input to windows!?
Toggle the steam link "controller mouse" mode changed something but didn't get better.

I tried "Enable Steam Input for Xbox controllers" within the steam controller settings (on host PC), doesn't seem make a difference.
I tried other things with mouse/keyboard mapping modes, but that's ugly, see question 4 below.
Despite the controller mapping layouts I don't want to use, there doesn't seem to be much more relevant controller settings on steam or steam link?

This leads me to some general questions:
1. What is a "Steam input"?
2. Do I need a "Steam input" - I don't want a steam input, I want xbox controller input to windows...?
3. I assume the problem is on the steam PC, not on the steam link? Since other steam games work just fine with controller via steam link.
4. Is there any solution without controller keyboard mapping layouts? I don't want to use them because some features of controller buttons aren't available as keyboard keys or depending on the situation have different keys...
< >
Showing 1-10 of 10 comments
add the game to steam as non steam game
then begin streaming and config the controller for it
steam -> library -> select game -> config controller
select the controller and browse config or pick default xbox/ps mapping
then tweak as desired

make sure steam is set to run as administrator
Thanks for your reply, but you're suggesting key mapping, dont' you?
Originally posted by _I_:
select the controller and browse config or pick default xbox/ps mapping
Originally posted by Michel_0:
I don't want to use them because some features of controller buttons aren't available as keyboard keys or depending on the situation have different keys...
steam input is the only way to have controller work from remote play clients

the clients controller can be mapped as a local controller, or k/m
Ok, I enabled "Steam input for Xbox controllers" and for "generic controllers" within steam settings, as well as in the settings of the game itself.
"Steam input translation" for the game is enabled and translates all gamepad buttons to the Xbox buttons itself.
Doesn't work.

Maybe because steam thinks the game isn't running anymore after I start it?
Because the launched executable closes after few seconds when it actually has started the game.

How to get steam controller input while steam thinks no game is running?

UPDATE: Added a "Desktop Layout" within steam settings "Non-Game controller layout" that does the same (assigned Xbox controller buttons to the same gamepad button).
Nothing changed, doesn't work.

Just realized that the "face buttons" ABXY are missing in the layout. I cannot assign ABXY, they're missing in the configuration dialogue, how to fix that?
Tried disable / enable and reset layout without avail.

What do I miss?
Shouldn't be too hard for steam to pass gamepad buttons to windows...
did you add the game to steam as non steam game?
Yes.
Originally posted by Michel_0:
play a non-steam game [...] Steam looses focus of the game window when I start it. So my steam status is "online" istead of "ingame" and the steam overlay doesn't work.
Originally posted by Michel_0:
steam thinks the game isn't running anymore after I start it? Because the launched executable closes after few seconds when it actually has started the game. How to get steam controller input while steam thinks no game is running?
is steam set to run the games exe, not a batch (.bat) or something?

does it do the same whennot streaming?
Not the game EXE nor a BAT.
It's windows explorer.exe with shell:AppsFolder parameter to start a microsoft store game.
Originally posted by Michel_0:
the launched executable closes after few seconds when it actually has started the game
Also tried the famous software UWPHook - same result. Controller works locally but not via steam link.

If I play locally on the PC without steam link having the controller connected to the PC directly, it works just fine!
Update:
I just recalibrated the conrtoller within steam link on my raspberry pi.
That changed something - yet it doesn't work.

Before the calibration steam link seems to simulate a PS gamepad on my desktop PC, that's why I saw some PS layouts within all steam layout assignments (while I had steam input for PS controllers disabled).
Now I see correct xbox layouts via steam link, so now steam link seems to actually simulate a xbox controller on my desktop.

Summary of the current state:
Steam desktop PC settings:
- Enabled Steam Input for Xbox controllers
- Enabled Steam Input for PS controllers
- Enabled Steam Input for SwitchPro controllers
- Enabled Steam Input for generic controllers
- Installed "Extended Xbox feature support driver"
- It correctly recognizes a Xbox conroller and all buttons are functional via steam link when using the testing feature of this dialouge
- Desktop layout of "non-game" is set as a mapping 1:1 controller key to gamepad button
- Guide button chord of "non-game" is set as a mapping 1:1 controller key to gamepad button
- Steam input for the game itself is activated
- Steam input mapping for the game itself is "default" layout, which is again a mapping 1:1 controller key to gamepad button

Steam link on raspberry:
- Besides successfull calibration of the controller, there doesn't seem to be any more settings available
- Using the "controller mouse" feature while streaming works - but doens't solve my problem, I'm not searching for a gamepad controlled mouse

All sounds fine...
All gamepad steam inputs activated, yet steam doesn't pass the gamepad input from steam link to windows or the game itself!

EDIT: I suspect incompative gamepad inputs - does steam link only provide legacy input not supported by newer UWP (unified windows platform) games?
Some keywords I come over by a quick research like DirectInput, XInput and tools to convert or forward between both...
Steam link claims to support XInput and DirectInput, so that shouldn't be the problem as well.
Like XOutput (abandoned since 2021), GloSC (became GloSI), GloSI (deprecated since 2024), SISR (not yet released)...
I would rather simply use moonlight than such tools.

I'm really wondering:
Is there any official statement from steam link what it does and does not support!?
Are such tools really necessary because steam link doesn't support it or am I just missing a configuration setting?
Installed sunshine on my desktop PC.
Installed moonlight on my raspberry pi.

After 15 minutes everything works just fine!

If anyone got more suggestions on how get steam link controllers to work, feel free to suggest and I'm willing to try.
Meanwhile I'm gonna use moonlight.

Btw. sunshine uses ViGEmBus, which also is deprecated, so my Xbox one controller gets simulated as Xbox 360 controller, but that's just fine and works.
Performance to be verified. First impression is just as good as steam link (1920x1080@60).
< >
Showing 1-10 of 10 comments
Per page: 1530 50