leafwing-input-manager 0.15.1

A powerful, flexible and ergonomic way to manage action-input keybindings for the Bevy game engine.
Documentation
[package]
name = "leafwing-input-manager"
description = "A powerful, flexible and ergonomic way to manage action-input keybindings for the Bevy game engine."
version = "0.15.1"
authors = ["Leafwing Studios"]
homepage = "https://leafwing-studios.com/"
repository = "https://github.com/leafwing-studios/leafwing-input-manager"
license = "MIT OR Apache-2.0"
edition = "2021"
categories = ["games", "game-development"]
keywords = ["bevy"]
exclude = ["assets/**/*", "tools/**/*", ".github/**/*"]

[profile.dev]
opt-level = 3

[workspace]
members = ["./", "tools/ci", "macros"]

[features]
default = ["asset", "ui", "mouse", "keyboard", "gamepad"]

# Allow support for tracking timing information about actions (how long a button was pressed, etc.)
timing = []

# Adds support for mouse-based inputs.
mouse = []

# Adds support for keyboard-based inputs.
keyboard = []

# Adds support for gamepad-based inputs.
gamepad = ["bevy/bevy_gilrs"]

# Allow using the `InputMap` as `bevy::asset::Asset`.
asset = ['bevy/bevy_asset']

# Add support for 'bevy::ui' integration:
# - Allow 'bevy::ui' to take priority over actions when processing inputs.
ui = ['bevy/bevy_ui']

# Add support for 'egui' integration:
# - Allow 'egui' to take priority over actions when processing inputs.
egui = ['dep:bevy_egui']

[dependencies]
leafwing_input_manager_macros = { path = "macros", version = "0.15.1" }
bevy = { version = "0.14.0-rc.3", default-features = false, features = [
  "serialize",
] }
bevy_egui = { version = "0.28", optional = true }

derive_more = { version = "0.99", default-features = false, features = [
  "display",
  "error",
] }
itertools = "0.13"
serde = { version = "1.0", features = ["derive"] }
serde_flexitos = "0.2"
dyn-clone = "1.0"
dyn-eq = "0.1"
dyn-hash = "0.2"
once_cell = "1.19"

[dev-dependencies]
bevy = { version = "0.14.0-rc.3", default-features = false, features = [
  "bevy_asset",
  "bevy_sprite",
  "bevy_text",
  "bevy_ui",
  "bevy_render",
  "bevy_core_pipeline",
  "bevy_state",
  "x11",
  # TODO Remove these before release. See https://github.com/bevyengine/bevy/issues/13728
  "ktx2",
  "zstd",
  "bevy_pbr",
] }
serde_test = "1.0"

[package.metadata.docs.rs]
all-features = true

[lib]
name = "leafwing_input_manager"
path = "src/lib.rs"

[[example]]
name = "press_duration"
path = "examples/press_duration.rs"
required-features = ["timing"]