#evdev #devices #ioctl #tokio #bindings #libevdev #interface

evdev-rs-tokio

为与evdev设备交互绑定到libevdev。它将处理evdev设备的常见任务移动到库中,并为调用者提供一个库接口,从而避免错误的ioctl等。

1 个不稳定版本

0.4.0 2021年3月27日

#1672硬件支持

MIT/Apache

155KB
3.5K SLoC

evdev-rs

Build Status Latest Version Documentation

libevdev的Rust封装

# Cargo.toml
[dependencies]
evdev-rs = "0.4.0"

要启用序列化支持,请启用功能 "serde"

# Cargo.toml
[dependencies]
evdev-rs-tokio = { version = "0.4.0", features = ["serde"] }

为什么需要一个libevdev封装?

evdev协议简单,但有一些行为不直观。libevdev透明地处理了其中的一些怪癖。

位于[1]的evdev crate是Rust中evdev的实现。这没有错,但它会错过libevdev提供的任何更复杂的处理。

[1] https://github.com/cmr/evdev/blob/master/src/lib.rs

开发

src/enums.rs可以通过运行 ./tools/make-enums.sh 来生成。

依赖项

~2.8–9.5MB
~78K SLoC