Crates.io | evdev-rs |
lib.rs | evdev-rs |
version | 0.6.1 |
source | src |
created_at | 2017-09-02 07:36:29.5502 |
updated_at | 2022-10-22 16:42:03.274375 |
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 | https://github.com/ndesh26/evdev-rs |
repository | https://github.com/ndesh26/evdev-rs |
max_upload_size | |
id | 30229 |
size | 191,910 |
A Rust wrapper for libevdev
# Cargo.toml
[dependencies]
evdev-rs = "0.6.1"
to enable serialization support, enable the feature "serde"
# Cargo.toml
[dependencies]
evdev-rs = { version = "0.6.1", features = ["serde"] }
With a newer libevdev version (>= 1.10) enable the feature `libevdev-1-10` to
allow disabling a property. It also extends the `Enable` trait to `InputProp`,
enabling the use of `enable()`, `disable()` and `has()` for `InputProp` as well.
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 is an implementation of libevdev in Rust which provides most of the same features.
evdev-rs
crate closely follows libevdev and hence enjoys all the complex handling
that libevdev does. Some of the things that libevdev handles transparently, which may or
may not be in evdev
crate:
src/enums.rs
can be generated by running ./tools/make-enums.sh
.