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