No gyro on steam controller #1897
Labels
No labels
accessibility
autorelease: pending
autorelease: tagged
bug
dependencies
documentation
duplicate
enhancement
github_actions
good first issue
help wanted
invalid
question
testing wanted
wontfix
No milestone
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Hookshot#1897
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Hookshot version
v2.0.13
What kind of problem
Sound, controls or saves
What happened
Im using steam controller on cachyos, the controller gets detected and works fine on gamepad mode, but it says no gyro on this pad
Where in the game
n/a
How often
Every time
Graphics card and driver version
RX 7900 XT latest version
CPU, RAM and operating system
ryzen 9 9900x 32gb ddr5
Changes from the defaults
No response
Other software hooked into the game
No, nothing hooked in
hookshot_log.txt
hookshot_log.3.txt
Screenshots or video
No response
Before you send it
hey I own a steam controller as well so following closely (can't check on my end as not at home), for troubleshooting purposes in steam input do you have gyro on and set to something (like, say Directional Pad and 'always on' but without any inputs mapped? that's usually the way to expose gyro to programs)
I also heard a suggestion to turn off steam input for the steam controller to get the app to detect the gyro input directly. Otherwise I think you need to map it to mouse while holding R2/ZR
I hit this on Windows. It looks like Steam hiding the real pad from SDL, and two lines fix it. Your log is Linux, but I expect the same cause, since Steam sets the same variables there.
Setup: v2.0.14, Windows 11, RTX 5090, Steam Controller (2026). Hookshot added to Steam as a non-Steam game pointing at
bin\hookshot.exe, Controller → Disable Steam Input, and "Use Desktop Configuration in Launcher" off.What happens: Steam's Controller page still lists the Steam Controller as "Enabled, always required" even with Steam Input disabled. Started from Steam, the game only sees Steam's stand-in pad, with no gyroscope:
Workaround: a
hookshot_env.txtbesideimage.binwith these two lines, which clear what Steam sets for the processes it starts:The next start from Steam reads the real pad, with gyro and no doubled D-pad presses:
Started outside Steam, those variables aren't set, which is why the pad works there.
On a fix in the game: I haven't proved which of the two variables does it, because I couldn't read the running game's environment. Clearing both from code would also show the real pad for players who rely on Steam Input for other controllers (e.g. #1583), and that could give them two pads. A narrower fix might be: before SDL starts, take only Valve's own IDs (0x28de) out of
SDL_GAMECONTROLLER_IGNORE_DEVICES, and then skip a Steam virtual pad while a real Valve pad is open. I'm happy to put that in a PR if that's the direction you'd want.Thanks for the report. Reports of the same problem are now collected in #2504, which lists this one with your details and links back here, so one fix closes them together and the open list stays readable. Follow #2504 for the fix, and add new details there (or here). If this turns out to be a separate problem it will be reopened. Pull request #2495 works on this.