Home

Awesome

Library build RP2040 examples build RP235x examples build Security audit

crates.io docs.rs

Batteries included embedded USB HID library for usb-device. Includes Keyboard (boot and NKRO), Mouse, Joystick and Consumer Control implementations as well as support for building your own HID classes.

Tested on the RP2040 and RP235x, but should work on any platform supported by usb-device.

Devices created with this library should work with any USB host. Tested on Windows, Linux, MacOS and Android.

Note: Managed interfaces that support HID idle, such as NKROBootKeyboardInterface and BootKeyboardInterface, require the UsbHidClass::tick() method calling every 1ms.

Features

Examples

See examples for demonstrations of how to use this library on the RP2040 (Raspberry Pi Pico) and RP235x (Raspberry Pi Pico 2).

Road map

Contact

https://github.com/dlkj/usbd-human-interface-device/issues

License

Distributed under the MIT License, see LICENSE.

Contributing

Contributions are welcome via pull requests

Acknowledgements

This library was inspired by existing rust USB libraries and the following sources of USB information: