mirror of
https://github.com/bevyengine/bevy
synced 2024-11-26 22:50:19 +00:00
a1e442cd2a
# Objective Provide the ability to trigger controller rumbling (force-feedback) with a cross-platform API. ## Solution This adds the `GamepadRumbleRequest` event to `bevy_input` and adds a system in `bevy_gilrs` to read them and rumble controllers accordingly. It's a relatively primitive API with a `duration` in seconds and `GamepadRumbleIntensity` with values for the weak and strong gamepad motors. It's is an almost 1-to-1 mapping to platform APIs. Some platforms refer to these motors as left and right, and low frequency and high frequency, but by convention, they're usually the same. I used #3868 as a starting point, updated to main, removed the low-level gilrs effect API, and moved the requests to `bevy_input` and exposed the strong and weak intensities. I intend this to hopefully be a non-controversial cross-platform starting point we can build upon to eventually support more fine-grained control (closer to the gilrs effect API) --- ## Changelog ### Added - Gamepads can now be rumbled by sending the `GamepadRumbleRequest` event. --------- Co-authored-by: Nicola Papale <nico@nicopap.ch> Co-authored-by: Alice Cecile <alice.i.cecile@gmail.com> Co-authored-by: Nicola Papale <nicopap@users.noreply.github.com> Co-authored-by: Bruce Reif (Buswolley) <bruce.reif@dynata.com> |
||
---|---|---|
.. | ||
char_input_events.rs | ||
gamepad_input.rs | ||
gamepad_input_events.rs | ||
gamepad_rumble.rs | ||
keyboard_input.rs | ||
keyboard_input_events.rs | ||
keyboard_modifiers.rs | ||
mouse_grab.rs | ||
mouse_input.rs | ||
mouse_input_events.rs | ||
text_input.rs | ||
touch_input.rs | ||
touch_input_events.rs |