Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lokathor/rusty-xinput
Safe dynamic loading of xinput
https://github.com/lokathor/rusty-xinput
rust xinput zlib-license
Last synced: 3 months ago
JSON representation
Safe dynamic loading of xinput
- Host: GitHub
- URL: https://github.com/lokathor/rusty-xinput
- Owner: Lokathor
- License: zlib
- Created: 2018-01-25T19:13:46.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-12-17T23:29:38.000Z (about 1 year ago)
- Last Synced: 2024-10-16T05:21:12.171Z (3 months ago)
- Topics: rust, xinput, zlib-license
- Language: Rust
- Homepage:
- Size: 80.1 KB
- Stars: 15
- Watchers: 5
- Forks: 7
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE-ZLIB.md
Awesome Lists containing this project
README
[![CratesIO](https://img.shields.io/crates/v/rusty-xinput.svg)](https://crates.io/crates/rusty-xinput)
[![DocsRS](https://docs.rs/rusty-xinput/badge.svg)](https://docs.rs/rusty-xinput/)
[![Appveyor](https://ci.appveyor.com/api/projects/status/2nhvh047mrv8plen?svg=true)](https://ci.appveyor.com/project/Lokathor/rusty-xinput)# rusty-xinput
Dynamically loads an xinput dll and lets you safely call the functions.
# If you want to use other controller types
If you have a controller that doesn't have an XInput driver it probably uses
DirectInput instead. The DirectInput system isn't bound within the `winapi`
crate because I'm too lazy to go make that PR and no one else cares.Instead I can suggest you two options:
* You can tell your users to try the [Controller
Emulator](https://github.com/x360ce/x360ce) program. It lets you setup the
device you want and then spits out an XInput DLL to use that will read the
desired device. Place the generated DLL into the same directory as your
executable under the name `xinput9_1_0.dll` and it'll get loaded instead of
the system level version. See their site for more info.* You can use the [multiinput](https://crates.io/crates/multiinput) crate, which
uses the rawinput system, which will also include things like DirectInput
devices. I don't know the guy that makes it and I haven't used it myself, I
just found it on crates.io and it's the only other gamepad library that's even
been updated in the past year.