No gyro on steam controller #1897

Closed
opened 2026-11-10 19:48:14 +00:00 by datingesp-hash · 4 comments
datingesp-hash commented 2026-11-10 19:48:14 +00:00 (Migrated from github.com)

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

  • I'm on the newest release, or the problem is still there on it.
  • I searched the open issues for this problem.
  • I'm not attaching game files, keys, hookshot.exe, the .bin caches or saves.
### 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](https://github.com/user-attachments/files/34648518/hookshot_log.3.txt) ### Screenshots or video _No response_ ### Before you send it - [x] I'm on the newest release, or the problem is still there on it. - [x] I searched the open issues for this problem. - [x] I'm not attaching game files, keys, hookshot.exe, the .bin caches or saves.
Lite2Key commented 2026-11-10 19:50:16 +00:00 (Migrated from github.com)

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)

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)
Crono141 commented 2026-11-10 20:40:19 +00:00 (Migrated from github.com)

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 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
sling86 commented 2026-11-11 00:33:43 +00:00 (Migrated from github.com)

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:

hid: controller "#SettingsController_SteamController" connected (SDL)

Workaround: a hookshot_env.txt beside image.bin with these two lines, which clear what Steam sets for the processes it starts:

SDL_GAMECONTROLLER_IGNORE_DEVICES=
SDL_GAMECONTROLLER_ALLOW_STEAM_VIRTUAL_GAMEPAD=

The next start from Steam reads the real pad, with gyro and no doubled D-pad presses:

hid: controller "Steam Controller" connected (SDL), with a gyroscope
hid: motion controls from "Steam Controller"

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.

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: ``` hid: controller "#SettingsController_SteamController" connected (SDL) ``` **Workaround:** a `hookshot_env.txt` beside `image.bin` with these two lines, which clear what Steam sets for the processes it starts: ``` SDL_GAMECONTROLLER_IGNORE_DEVICES= SDL_GAMECONTROLLER_ALLOW_STEAM_VIRTUAL_GAMEPAD= ``` The next start from Steam reads the real pad, with gyro and no doubled D-pad presses: ``` hid: controller "Steam Controller" connected (SDL), with a gyroscope hid: motion controls from "Steam Controller" ``` 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.
NotRexed commented 2026-11-11 21:24:13 +00:00 (Migrated from github.com)

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.

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.
Commenting is not possible because the repository is archived.
No milestone
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
MagicBeanDev/Hookshot#1897
No description provided.