#devices #daemon #channel #hid #advanced #api #service

nightly bin+lib hid-io

HID-IO 是高级 HID 设备的宿主端守护进程

1 个不稳定版本

0.1.0-beta12019 年 10 月 13 日

#15 in #advanced

GPL-3.0-or-later

540KB
2.5K SLoC

hid-io

HID-IO 客户端库和守护进程

Overview

Travis Status

Visit our IRC channel

API 文档

获取

目前您必须自己构建 HID-IO 守护进程。但一旦我们准备好公开测试版,它将以二进制形式提供。

用法

hid-io
hid-io --help

RPC 终端示例

cargorun --examplerpc

依赖

  • Rust 夜间版(可能随时间放松)
  • capnproto >= 0.7.0

i686-pc-windows-gnu 依赖

  • make 必须是路径

构建

cargo build

测试

RUST_LOG=hid_io=info RUST_BACKTRACE=1 cargo run

检查 rawhid 流量

sudo usbhid-dump -m 308f:0013 -es sudo usbhid-dump -m 1c11:b04d -es -t 0 -i 5

运行单元测试

cargo test

支持的键盘固件

贡献

  • 请在提交 pull-request 之前运行 cargo test

  • Travis 将失败所有未通过所有测试的提交

调试

echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope rust-gdb target/debug/hid-io -p $(pidof hid-io)

打包

cargobuild --release --target "x86_64-pc-windows-gnu"

Linux systemd 服务

cp hid-io.service /etc/systemd/system systemctl daemon-reload systemctl enable --now hid-io

Windows 服务

install_service.exe sc start hid-io sc stop hid-io sc query hid-io

OSX 服务

cp hidio.plist ~/Library/LaunchAgents launchctl -w ~/Library/LaunchAgents/hidio.plist

依赖

~24–37MB
~677K SLoC