drmkit-input 0.1.2

Keyboard, pointer and touch input: libinput devices and xkb key resolution
Documentation
# SPDX-FileCopyrightText: (c) 2026 Joel Winarske
# SPDX-License-Identifier: MIT

[package]
name = "drmkit-input"
description = "Keyboard, pointer and touch input: libinput devices and xkb key resolution"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true
keywords.workspace = true
categories.workspace = true

[dependencies]
drmkit-log = { workspace = true }
rustix = { workspace = true, features = ["std", "time", "event", "fs"] }
thiserror = { workspace = true, features = ["std"] }

# Keymap compilation and key resolution. Optional for the same reason the
# seat backend is: it links a C library that a cross target's sysroot may not
# carry, and the parts of this crate that are pure state machines should stay
# buildable and testable without it.
xkbcommon = { workspace = true, optional = true }

# The devices themselves. Optional for the same reason: it links two C
# libraries, and the pure parts of this crate should stay buildable without
# them.
input = { workspace = true, optional = true }

[features]
default = ["libinput", "xkb"]
libinput = ["dep:input"]
xkb = ["dep:xkbcommon"]

[[test]]
name = "xkb_default_options"
harness = false
required-features = ["xkb"]

[[example]]
name = "input"
required-features = ["libinput", "xkb"]

[lints]
workspace = true