👉 Press Here 👈
press_here provides simple and modular input handling for the Bevy game engine.
Example
Setup is quick and easy. Define axis/trigger and configure bindings:
;
;
Super modular
Axis and trigger bindings are modular and can be combined to configure complex input responses. Check out the all_bindings example to see all bindings and modfiers in action.
let binding = new;
The same binding can be defined using the builder pattern:
let binding =
.smooth;
Next steps
- Better documentation.
- Currently most structs have some comments and the crate is rather straight forward, but better examples in comments could be provided.
- Observer support.
- Currently you have to set up event triggering yourself. This can be streamlined.
- Referring to existing axes and triggers.
- It would be nice to be able to refer to other already defined triggers and axes. This would allow us to do something like
.with_trigger::<SomeTrigger>().
- It would be nice to be able to refer to other already defined triggers and axes. This would allow us to do something like
- Schedule configuration.
- Right now all checks are happending in the PreUpdate schedule. It might be desirable to configure this.
- Time clock configuration.
- Currently bindings that rely on time use the
Time<Real>clock. If a different clock is desired, we have no way to configure that.
- Currently bindings that rely on time use the
- ???
Bevy compatibility
| Bevy | press_here |
|---|---|
| 0.17 | 0.1 |