9 个版本
0.2.5 | 2023 年 9 月 24 日 |
---|---|
0.2.4 | 2023 年 9 月 20 日 |
0.2.2 | 2022 年 8 月 26 日 |
0.2.1 | 2022 年 6 月 9 日 |
0.1.3 | 2022 年 6 月 7 日 |
#412 in 硬件支持
每月 43 次下载
48KB
782 代码行
xwiimote
对 xwiimote 用户空间库的 Rust 语法绑定。
用法
构建和使用此库需要以下依赖项
- libudev >= 183
- libxwiimote >= 2-2 (可选;设置
XWIIMOTE_SYS_STATIC=1
以从源代码构建并静态链接。)
wiinote 应用程序展示了此库提供的功能。
许可证
lib.rs
:
此库提供了对 xwiimote
用户空间库的安全 Rust 接口。
示例
连接到找到的第一个 Wii Remote 并打印其电池级别。
use xwiimote::{Device, Monitor};
use futures_util::TryStreamExt;
// A monitor enumerates the addresses of all connected Wii Remotes.
let mut monitor = Monitor::enumerate()?;
match monitor.try_next().await {
Ok(Some(address)) => {
// Connect to the Wii Remote specified by `address`.
let device = Device::connect(&address)?;
let level = device.battery()?;
println!("the battery level is {}%", level);
}
Ok(None) => println!("found no connected device"),
Err(e) => eprintln!("could not enumerate devices: {e}"),
};
打印新发现的设备的地址。
use xwiimote::{Device, Monitor};
use futures_util::TryStreamExt;
let mut monitor = Monitor::discover()?;
while let Ok(Some(address)) = monitor.try_next().await {
println!("found device at {address:?}");
}
依赖项
~0.7–3.5MB
~67K SLoC