gamepads
Rust gamepad input library with a focus on ease of use. Supports haptic feedback (dual rumble / vibrations) on the web, and can be used as a macroquad plugin.
use Gamepads;
See the crate documentation and the examples for documentation and sample code.
What it is
- On desktop this library is implemented on top of gilrs.
- On web this is implemented on top of the Gamepad API exposed by browsers, including support for haptic feedback (aka "dual rumble" or "force feedback").
- It can be used in a
wasm-bindgen-using project without any setup necessary. - It can be used without
wasm-bindgen(by specifyingdefault-features = false), allowing it to be used as amacroquadplugin (see more below) or in a direct wasm build (example).
- It can be used in a
How to use as a macroquad plugin
For non-web targets, nothing special needs to be done to use this library with macroquad. But for a web build to work properly, two things needs to be done.
First, since macroquad does not use wasm-bindgen, that feature in gamepads needs to be turned off by setting default-features = false:
= { = "*", = false }
Second, a javascript plug-in (source) needs to be registered in the page embedding the built wasm file:
See the gamepads-macroquad example.
Feedback
Please report any issues found or discuss questions and ideas!