Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/projectharmonia/bevy_enhanced_input
Dynamic and contextual input mappings for Bevy
https://github.com/projectharmonia/bevy_enhanced_input
bevy input
Last synced: 2 months ago
JSON representation
Dynamic and contextual input mappings for Bevy
- Host: GitHub
- URL: https://github.com/projectharmonia/bevy_enhanced_input
- Owner: projectharmonia
- License: apache-2.0
- Created: 2024-10-06T13:06:45.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2024-10-16T23:32:43.000Z (2 months ago)
- Last Synced: 2024-10-17T07:57:26.190Z (2 months ago)
- Topics: bevy, input
- Language: Rust
- Homepage: https://crates.io/crates/bevy_enhanced_input
- Size: 133 KB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# Bevy Enhanced Input
[![crates.io](https://img.shields.io/crates/v/bevy_enhanced_input)](https://crates.io/crates/bevy_enhanced_input)
[![docs.rs](https://docs.rs/bevy_enhanced_input/badge.svg)](https://docs.rs/bevy_enhanced_input)
[![codecov](https://codecov.io/gh/projectharmonia/bevy_enhanced_input/graph/badge.svg?token=wirFEuKmMz)](https://codecov.io/gh/projectharmonia/bevy_enhanced_input)Dynamic and contextual input mappings for Bevy inspired by [Unreal Engine Enhanced Input](https://dev.epicgames.com/documentation/en-us/unreal-engine/enhanced-input-in-unreal-engine).
## Features
* Map inputs from various sources (keyboard, gamepad, etc.) to gameplay actions like `Jump`, `Move`, or `Attack`.
* Assign actions to different contexts like `OnFoot` or `InCar`, which are regular components.
* Activate or deactivate contexts by simply adding or removing components.
* Control how actions accumulate input from sources and consume it.
* Layer multiple contexts on a single entity, controlled by priority.
* Apply modifiers to inputs, such as dead zones, inversion, scaling, etc., or create custom modifiers by implementing a trait.
* Assign conditions for how and when an action is triggered, like "hold", "double-tap" or "chord", etc. You can also create custom conditions, such as "on the ground".
* React on actions with observers.## Getting Started
Check out the [quick start guide](https://docs.rs/bevy_enhanced_input) for more details.
See also examples in the repo. [simple.rs](examples/simple.rs) should be a good starting point.
## Bevy compatibility
| bevy | bevy_enhanced_input |
| ----------- | ------------------- |
| 0.14.0 | unreleased |