Cargo Features

Keybinds has no features set by default.

[dependencies]
keybinds = { version = "0.1.1", features = ["serde", "crossterm", "winit", "termwiz", "iced", "arbitrary"] }
default

No feature is enabled by default. See minimal example to know how to use this crate with no specific framework dependency.

serde

Deserialization/Serialization support using serde crate. This feature is useful to parse/generate key bindings in configuration files with human-friendly formats such as TOML or YAML. See deserialize and serialize examples for the usage.

Enables serde, serde of smallvec

Affects keybinds::serde

crossterm

Support for crossterm crate. This feature provides the conversion from crossterm's key event types into keybinds' key input types. See crossterm example for the usage.

Enables crossterm

Affects keybinds::crossterm

winit

Support for winit crate. This feature provides the conversion from winit's key event types into keybinds' key input types. See winit example for the usage.

Enables winit

Affects keybinds::winit

termwiz

Support for termwiz crate. This feature provides the conversion from termwiz's key event types into keybinds' key input types. See termwiz example for the usage.

Enables termwiz

Affects keybinds::termwiz

iced

Support for iced crate. This feature provides the conversion from iced's key event types into keybinds' key input types. See iced example for the usage.

Enables iced

Affects keybinds::iced

arbitrary

Support for structure-aware fuzzing using arbitrary crate. This allows generating values of several keybinds' types from random byte slices. See arbitrary example for the usage.

Enables arbitrary

Affects keybinds::arbitrary

Features from optional dependencies

TODO: Consider default-features = false for optional crates to reduce the number of dependencies