evdev-rs-tokio

Crates.ioevdev-rs-tokio
lib.rsevdev-rs-tokio
version0.4.0
sourcesrc
created_at2021-03-27 04:48:08.336856
updated_at2021-03-27 04:48:08.336856
descriptionBindings 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
repositoryhttps://github.com/keyboard-mapping/evdev-rs-rokio
max_upload_size
id374076
size174,574
Rabbit (ttzztztz)

documentation

README

evdev-rs

Build Status Latest Version Documentation

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

Why a libevdev wrapper?

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

Development

src/enums.rs can be generated by running ./tools/make-enums.sh.

Commit count: 172

cargo fmt