Skip to main content

Crate hid_rgb_ctl

Crate hid_rgb_ctl 

Source
Expand description

Control RGB lighting on HID LampArray and LED Page devices on Linux.

This crate provides:

  • Auto-discovery of HID RGB devices by parsing report descriptors from sysfs
  • Support for HID LampArray (Usage Page 0x59) and LED Page RGB (Usage Page 0x08)
  • No hardcoded vendor/product IDs — works with any compliant device

§Example

use hid_rgb_ctl::{discover_devices, DeviceKind, LampArrayDevice, LedRgbDevice};

let devices = discover_devices();
for dev in &devices {
    match &dev.kind {
        DeviceKind::LampArray(_) => {
            let device = LampArrayDevice::new(dev);
            device.set_color(255, 0, 0, 255).unwrap();
        }
        DeviceKind::LedRgb(_) => {
            let device = LedRgbDevice::new(dev);
            device.set_color(255, 0, 0, 255).unwrap();
        }
    }
}

Re-exports§

pub use descriptor::discover_device;
pub use descriptor::discover_devices;
pub use descriptor::DeviceInfo;
pub use descriptor::DeviceKind;
pub use descriptor::LampArrayReports;
pub use descriptor::LedRgbChannelInfo;
pub use descriptor::ReportInfo;
pub use descriptor::ReportType;
pub use device::LampArrayAttributes;
pub use device::LampArrayDevice;
pub use device::LampAttributes;
pub use device::LampColor;
pub use device::LedRgbDevice;
pub use error::Error;

Modules§

descriptor
HID report descriptor parser and device discovery.
device
HID RGB device control.
error
Error types for hid-rgb-ctl.