Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing a lot of Steam Input bindings #144

Open
OvermindDL1 opened this issue Nov 21, 2023 · 3 comments
Open

Missing a lot of Steam Input bindings #144

OvermindDL1 opened this issue Nov 21, 2023 · 3 comments
Labels
missing-wrapper Part of the steamworks API missing a wrapper

Comments

@OvermindDL1
Copy link

Following along with the SteamInput docs starting with https://partner.steamgames.com/doc/features/steam_controller/getting_started_for_devs going on to https://partner.steamgames.com/doc/api/ISteamInput and others and finding that many of the functions are missing from Input<Manager> including, but not limited to, getting origin data, glyph data, remote play session ID from input ID, vibration, haptics, etc. How are we intended to access these? Is there an extension trait for Input somewhere that I'm failing in finding? The version of steamworks-rs mapping to the steamworks SDK seems to be 1.54 that should have the functions in the steamworks docs above?

In addition it looks like the MSRV is modern enough to support some safer functionality, like sized arrays and so forth of the things I've been accessing so far? How open are you to API change PR's that use modern rust features?

@OvermindDL1
Copy link
Author

Interestingly, STEAM_INPUT_HANDLE_ALL_CONTROLLERS is also missing? Wonder how bindgen missed that, is it missing from the C flat source?

@kristoff3r
Copy link
Collaborator

Following along with the SteamInput docs starting with https://partner.steamgames.com/doc/features/steam_controller/getting_started_for_devs going on to https://partner.steamgames.com/doc/api/ISteamInput and others and finding that many of the functions are missing from Input<Manager> including, but not limited to, getting origin data, glyph data, remote play session ID from input ID, vibration, haptics, etc. How are we intended to access these? Is there an extension trait for Input somewhere that I'm failing in finding? The version of steamworks-rs mapping to the steamworks SDK seems to be 1.54 that should have the functions in the steamworks docs above?

While steamworks-sys should have basically the entire API, the safe bindings only have the things that people have needed and contributed in the past, so lots of stuff is missing. Feel free to open PRs or issues for anything that's missing.

In addition it looks like the MSRV is modern enough to support some safer functionality, like sized arrays and so forth of the things I've been accessing so far? How open are you to API change PR's that use modern rust features?

I'd be happy to review and merge stuff like that. I haven't been involved in this project for very long so I don't know if there is a policy or expectation for a certain MSRV, but I'd be in favor of raising it as well if it allows us to make a better / safer API.

@OvermindDL1
Copy link
Author

the safe bindings only have the things that people have needed and contributed in the past, so lots of stuff is missing. Feel free to open PRs or issues for anything that's missing.

Ah awesome, surprising that no one has needed the origin information yet (are they just not displaying the bound key information?).

but I'd be in favor of raising it as well if it allows us to make a better / safer API.

Good to know, thanks much!

@james7132 james7132 added the missing-wrapper Part of the steamworks API missing a wrapper label Feb 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
missing-wrapper Part of the steamworks API missing a wrapper
Projects
None yet
Development

No branches or pull requests

3 participants