gilrs-core 0.6.0

Minimal event-based abstraction for working with gamepads
Documentation
[package]
name = "gilrs-core"
version = "0.6.0"
authors = ["Mateusz Sieczko <arvamer@gmail.com>"]
license = "Apache-2.0/MIT"
description = "Minimal event-based abstraction for working with gamepads"
documentation = "https://docs.rs/gilrs-core/"
repository = "https://gitlab.com/gilrs-project/gilrs"
readme = "README.md"
keywords = ["gamepad", "joystick", "input"]
categories = ["game-engines"]
edition = "2021"
rust-version = "1.73.0"

[dependencies]
uuid = "1.0.0"
log = "0.4.1"
serde = { version = "1.0", features = ["derive"], optional = true }


[dev-dependencies]
env_logger = "0.11.5"

[target.'cfg(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd"))'.dependencies]
libudev-sys = "0.1.4"
libc = "0.2"
nix = { version = "0.29.0", default-features = false, features = ["ioctl", "event"] }
vec_map = "0.8"
inotify = { version = "0.11.0", default-features = false }

[target.'cfg(target_os = "macos")'.dependencies]
core-foundation = "0.10.0"
io-kit-sys = "0.4.1"
vec_map = "0.8"

[target.'cfg(target_os = "windows")'.dependencies]
winapi = { version = "0.3.4", features = ["xinput"], optional = true }
rusty-xinput = { version = "1.2.0", optional = true }
windows = { version = ">=0.44, <=0.58", optional = true, features = [
    "Gaming_Input",
    "Foundation_Collections",
    "Devices_Power",
    "System_Power",
    "Gaming_Input_ForceFeedback"
] }

[target.'cfg(target_arch = "wasm32")'.dependencies]
js-sys = { version = "0.3" }
web-sys = { version = "0.3", features = [
    "Gamepad",
    "GamepadButton",
    "GamepadMappingType",
    "Window",
    "Navigator",
    "DomException",
] }
wasm-bindgen = "0.2"

[package.metadata.docs.rs]
features = ["serde"]

[features]
default = ["wgi"]
serde-serialize = ["serde"]
xinput = ["rusty-xinput", "winapi"]
wgi = ["windows"]