A Rust wrapper for libevdev
# Cargo.toml [dependencies] evdev-rs = "0.3.1"
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  is an implementation of evdev in Rust. Nothing wrong with that, but it will miss out on any more complex handling that libevdev provides.
src/enums.rs can be generated by running