leafwing-input-manager 0.16.0

A powerful, flexible and ergonomic way to manage action-input keybindings for the Bevy game engine.
[package]

name = "leafwing-input-manager"

description = "A powerful, flexible and ergonomic way to manage action-input keybindings for the Bevy game engine."

version = "0.16.0"

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.16" }

bevy = { version = "0.15.0", default-features = false, features = [

  "serialize",

] }

bevy_egui = { version = "0.31", 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"



[dev-dependencies]

bevy = { version = "0.15.0", default-features = false, features = [

  "bevy_asset",

  "bevy_sprite",

  "bevy_text",

  "bevy_ui",

  "bevy_render",

  "bevy_core_pipeline",

  "bevy_state",

  "bevy_window",

  "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"]