adafruit_radial_controller

HID Radial Controller device helper library

  • Author(s): Dan Halbert

Implementation Notes

Hardware:

At the minimum, a radial controller is a rotary encoder plus a switch.

Documentation is available from Microsoft: https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/radial-implementation-guide

Software and Dependencies:

class adafruit_radial_controller.RadialController(devices)

Send Radial Controller HID reports.

Create a RadialController object that will send Radial Controller HID reports.

Devices can be a list of devices that includes a keyboard device or a keyboard device itself. A device is any object that implements send_report(), usage_page and usage.

click()

Press and release the button.

press()

Press the button.

release()

Release the button.

rotate(degree_tenths)

Set relative rotation value, in tenths of a degree. A value of +/- 1 or 10 can be too small and cause tool selection or scrolling to not work. +/- 100 is a good value for a single increment in many cases, though it causes value sliders to change by 10 instead of 1.

adafruit_radial_controller.device

  • Author(s): Dan Halbert

The radial controller report descriptor used is described by Microsoft here.

adafruit_radial_controller.device.device(report_id: int) usb_hid.Device

Create a usb_hid.Device for a radial controller.

Parameters:

report_id (int) – The report ID to use for the device.