It would be nice to have an InputMap system like in godot or unreal's ActionMappings. It will convert user input from different input hardware into game specific actions.
eg,
Keyboard "Space" or Joystick "A" can be mapped "Jump" Action.
This allows game code to not be tightly coupled with a particular key event. It also makes key rebinding possible if we add support for storing keybindings in an external json file (or something similar).
Yeah I think this is a must-have feature for serious games. People can currently build their own versions of this on top of the existing input events, but it makes sense to build something standard that everyone can use.
I am working on a prototype plugin. Will share more info when I have something ready.
I have made some progress.
PR: https://github.com/bevyengine/bevy/pull/448.
Features
new* Input Map Example
new* Keyboard Key Mapping
new* Mouse Button Mapping
new* Mouse Axis Mapping
new* Action Strength
pending* Deadzone implementation
Note*
Active prototype plugin development has moved to https://github.com/PradeepKumarRajamanickam/bevy_input_map
Update*
Now available on crate.io
bevy_prototype_input_map = "0.1.0"
_New version available on crate.io_
bevy_prototype_input_map = "0.1.2"
Update*
Bevy Prototype Input Map 0.1.3
Now available on crate.io
https://crates.io/crates/bevy_prototype_input_map
Whats New
Most helpful comment
Now available on crate.io
bevy_prototype_input_map = "0.1.0"