#usb-hid #usb #hid #nkro

no-std kiibohd-usb

Kiibohd USB HID 接口

7 个版本

0.1.6 2023 年 5 月 19 日
0.1.5 2022 年 11 月 29 日
0.1.2 2022 年 6 月 5 日
0.1.0 2022 年 4 月 30 日

#1964嵌入式开发


kiibohd-core-ffi 中使用

MIT/Apache 许可协议

91KB
1.5K SLoC

kiibohd-usb

Rust docs.rs Crates.io Crates.io Crates.io

来自 kiibohd 项目的组合 USB HID 接口。实例化以下 USB HID 接口

  • 引导模式键盘(支持通过 SET_PROTOCOL 自动切换和手动切换)
  • NKRO 模式键盘
  • 消费者 Ctrl 和系统 Ctrl
  • 鼠标
  • HID-IO

用法

let (mut kbd_producer, mut kbd_consumer) = KBD_QUEUE.split();
let (mut mouse_producer, mut mouse_consumer) = MOUSE_QUEUE.split();
let (mut ctrl_producer, mut ctrl_consumer) = CTRL_QUEUE.split();
let (mut hidio_rx_producer, mut hidio_rx_consumer) = HIDIO_RX_QUEUE.split();
let (mut hidio_tx_producer, mut hidio_tx_consumer) = HIDIO_TX_QUEUE.split();
let usb_hid = HidInterface::new(
		usb_bus, /* UsbBusAllocator */
		HidCountryCode::NotSupported,
		kbd_consumer,
		mouse_consumer,
		ctrl_consumer,
		hidio_rx_producer,
		hidio_tx_consumer,
);

usb_hid.poll(); // Poll HID-IO
usb_hid.push(); // Push hid reports and poll HID-IO

有关更多详细信息,请参阅 docs.rs

进行中

  • 鼠标接口尚未启用(在 atsam4s 上分配时仍存在一些问题)

许可证

根据您的选择,许可协议为以下之一

贡献

除非您明确声明,否则根据 Apache-2.0 许可证定义的,您有意提交给作品的所有贡献,都将根据上述条款双许可,不附加任何额外条款或条件。

依赖关系

~3MB
~63K SLoC