23 releases (12 breaking)
|0.13.0||Mar 4, 2023|
|0.12.4||Jan 29, 2022|
|0.12.2||Aug 3, 2021|
|0.12.0||Jul 7, 2021|
|0.3.0||Feb 4, 2018|
#167 in Hardware support
406 downloads per month
Used in 10 crates (2 directly)
Platform-agnostic asynchronous gamepad, joystick and flightstick library
Stick supports getting controller input from a large variety of gamepads, joysticks, flightsticks, and other controllers. Stick also supports left/right rumble haptic effects.
Why Does Stick Exist?
The main reason is that I hadn't heard of gilrs when I started stick back in 2017 when gilrs was only a year old and had less than 500 all-time downloads. Now, I think there are many other reasons for stick to exist despite gilrs:
async/.awaitfor gamepads, joysticks, etc (I recommend using the
pastscrate for a simple single-threaded executor).
- Low-level hotplugging support (you assign the gamepad ID's)
- Meaningful Event Names (
- Minimal dependencies
- Dual licensed with the Boost license (permission to use without attribution in the binary's UI) - making it great for game development.
- Not game-specific, doesn't depend on a "standard gamepad" model (which doesn't work due to the variety of controllers in existence) - therefore can also be used in robotics, control centers, advanced flight simulations, etc.
- Support more types of gamepads/joysticks than gilrs, and (WIP) unified support across platforms.
Planned Platform Support
- Web Assembly
- Nintendo Switch (And other game consoles)
Table of Contents
API documentation can be found on docs.rs.
You may enable the following features
- sdb: Enabled by default, the Stick database controller remappings
- gcdb: The SDL game controller database remappings
You can use the changelog to facilitate upgrading this crate as a dependency.
Licensed under any of
- Apache License, Version 2.0, (LICENSE_APACHE_2_0.txt or https://www.apache.org/licenses/LICENSE-2.0)
- MIT License, (LICENSE_MIT.txt or https://mit-license.org/)
- Boost Software License, Version 1.0, (LICENSE_BOOST_1_0.txt or https://www.boost.org/LICENSE_1_0.txt)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as described above, without any additional terms or conditions.
If you want help using or contributing to this library, feel free to send me an email at firstname.lastname@example.org.