denise-evdev 0.30.1

Linux evdev input for Denise: mouse, touchpad, touch and keyboard, with no display server.
Documentation
[package]
name = "denise-evdev"
description = "Linux evdev input for Denise: mouse, touchpad, touch and keyboard, with no display server."
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
readme = "README.md"
authors.workspace = true
repository.workspace = true
homepage.workspace = true

# As in denise-drm: the translation state machine is platform-independent so it
# can be tested without a finger on a screen. Only device I/O is gated to Linux.
# docs.rs builds one configuration and shows it to everybody, so ask for every
# feature: an item behind a feature gate should be documented and badged, not
# absent.
[package.metadata.docs.rs]
all-features = true

[dependencies]
denise = { workspace = true, features = ["std"] }
denise-layout = { workspace = true }
thiserror = { workspace = true, features = ["std"] }

[target.'cfg(target_os = "linux")'.dependencies]
evdev = { workspace = true }
# The console ioctls and the /dev/input watch. KDSKBMODE is not in any safe
# wrapper anywhere, because muting a shared kernel device is not a safe operation
# to expose; `fs` is there for inotify, which is how a device that appears after
# startup gets noticed.
rustix = { workspace = true, features = ["fs", "std"] }

# The pointer diagnostic blocks on the input descriptors rather than sleeping,
# because a fixed sleep would add its own delay to every measurement and then
# report it as the kernel's.
[target.'cfg(target_os = "linux")'.dev-dependencies]
rustix = { workspace = true, features = ["event", "std"] }

[lints.rust]
missing_docs = "warn"

[lints.clippy]
undocumented_unsafe_blocks = "warn"