Skip to content
/ gid Public

Gopher Interface Devices for USB HID

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
LICENSE-old
Notifications You must be signed in to change notification settings

b1ug/gid

Repository files navigation

gid - Gopher Interface Devices

Go Reference Go Report Card GitHub Actions CircleCI

Yet another Go package tailored for interacting with USB Human Interface Devices (HID).

This package facilitates cross-platform communications with HID devices on macOS, Linux, and Windows. Behind the scenes, it employs boombuler/hid as its foundation and broadens its functionalities by reading feature reports from USB HID devices, and its Linux implementation is a derivative of dolmen-go/hid, which wraps hidapi.

Divergent from comprehensive USB HID packages, gid chiefly focuses on offering support limited to HID devices with feature reports across major platforms. Our primary spotlight is the ThingM blink(1) devices.

Compatible Operating Systems

gid is designed to work seamlessly with the following systems:

  • macOS: Through its native IOKit framework
  • Linux: Leverages libusb 1.0+
  • Windows: Utilizes native Windows HID library

We've tested the package on different platforms to ensure its compatibility:

  • macOS Venture 13.5.2 (on Apple M1 Chip)
  • Windows 10 x64 - Build 19045
  • Windows 11 x64 - Build 22621
  • Raspberry Pi OS 64-bit Bullseye (on Raspberry Pi 3 Model B)

The package has been verified to work with the following devices:

  • ThingM blink(1) mk2

Limitations

This package is designed to support minimum USB HID functionality needed for ThingM blink(1) on major platforms only. Therefore, not all HID features have been implemented.

Credits and License

License: MIT

The gid package owes its genesis to the following repositories:

The included dependencies carry the following licenses:

Being open-source, the gid package is licensed under the widely-accepted MIT license.