Crates.io | evdev-rs-tokio |
lib.rs | evdev-rs-tokio |
version | 0.4.0 |
source | src |
created_at | 2021-03-27 04:48:08.336856 |
updated_at | 2021-03-27 04:48:08.336856 |
description | Bindings to libevdev for interacting with evdev devices. It moves the common tasks when dealing with evdev devices into a library and provides a library interface to the callers, thus avoiding erroneous ioctls, etc. |
homepage | |
repository | https://github.com/keyboard-mapping/evdev-rs-rokio |
max_upload_size | |
id | 374076 |
size | 174,574 |
A Rust wrapper for libevdev
# Cargo.toml
[dependencies]
evdev-rs = "0.4.0"
to enable serialization support, enable the feature "serde"
# Cargo.toml
[dependencies]
evdev-rs-tokio = { version = "0.4.0", features = ["serde"] }
The evdev protocol is simple, but quirky, with a couple of behaviors that are non-obvious. libevdev transparently handles some of those quirks.
The evdev crate on [1] is an implementation of evdev in Rust. Nothing wrong with that, but it will miss out on any more complex handling that libevdev provides.
[1] https://github.com/cmr/evdev/blob/master/src/lib.rs
src/enums.rs
can be generated by running ./tools/make-enums.sh
.