rdev 0.5.3

Listen and send keyboard and mouse events on Windows, Linux and MacOS.
Documentation
[package]
name = "rdev"
version = "0.5.3"
authors = ["Nicolas Patry <patry.nicolas@protonmail.com>"]
edition = "2018"

description = "Listen and send keyboard and mouse events on Windows, Linux and MacOS."
documentation = "https://docs.rs/rdev/"
homepage = "https://github.com/Narsil/rdev"
repository = "https://github.com/Narsil/rdev"
readme = "README.md"
keywords = ["input", "mouse", "testing", "keyboard", "automation"]
categories = ["development-tools::testing", "api-bindings", "hardware-support"]
license = "MIT"

[dependencies]
serde = {version = "1.0", features = ["derive"], optional=true}
lazy_static = "1.4"

[features]
serialize = ["serde"]
unstable_grab = ["evdev-rs", "epoll", "inotify"]

[target.'cfg(target_os = "macos")'.dependencies]
cocoa = "0.22"
core-graphics = {version = "0.19.0", features = ["highsierra"]}
core-foundation = {version = "0.7"}
core-foundation-sys = {version = "0.7"}


[target.'cfg(target_os = "linux")'.dependencies]
libc = "0.2"
x11 = {version = "2.18", features = ["xlib", "xrecord", "xinput"]}
evdev-rs = {version = "0.4.0", optional=true}
epoll = {version = "4.1.0", optional=true}
inotify = {version = "0.8.2", default-features=false, optional=true}

[target.'cfg(target_os = "windows")'.dependencies]
winapi = { version = "0.3", features = ["winuser", "errhandlingapi", "processthreadsapi"] }

[dev-dependencies]
serde_json = "1.0"
# Some tests interact with the real OS. We can't hit the OS in parallel
# because that leads to unexpected behavior and flaky tests, so we need
# to run thoses tests in sequence instead.
serial_test = "0.4"
tokio = {version = "1.5", features=["sync", "macros", "rt-multi-thread"]}

[[example]]
name = "serialize"
required-features = ["serialize"]

[[example]]
name = "grab"
required-features = ["unstable_grab"]

[[example]]
name = "tokio_channel"
required-features = ["unstable_grab"]

[[test]]
name = "grab"
path = "tests/grab.rs"
required-features = ["unstable_grab"]