| Crates.io | evdevil |
| lib.rs | evdevil |
| version | 0.3.3 |
| created_at | 2025-06-18 14:56:01.2008+00 |
| updated_at | 2025-07-25 00:53:43.627308+00 |
| description | Bindings to Linux' input device APIs: evdev and uinput |
| homepage | |
| repository | https://github.com/SludgePhD/evdevil |
| max_upload_size | |
| id | 1717226 |
| size | 404,130 |
evdevil: Rust bindings to evdev and uinputThis library provides an interface to the Linux and FreeBSD input device subsystem.
evdev and uinput feature, including force-feedback and multitouch.async support via Tokio or async-io.| Feature | Description |
|---|---|
serde |
Implements Serialize and Deserialize for many event code wrappers like Key, Rel, etc. |
tokio |
Uses tokio to enable async event reading using EventReader. |
async-io |
Uses async-io to enable async event reading using EventReader. |
This library targets the latest Rust version.
Older Rust versions are supported by equally older versions of this crate. For example, to use a version of Rust that was succeeded 6 months ago, you'd also use an at least 6 month old version of this library.
Compatibility with older Rust versions may be provided on a best-effort basis.
The crate is tested using end-to-end tests that create a virtual uinput device and then open it.
This means the user running the tests needs to have permission to write to /dev/uinput and the input devices in /dev/input/event*.