11 个版本

0.2.8 2023年6月18日
0.2.7 2023年6月3日
0.2.6 2023年5月18日
0.2.4 2023年4月25日
0.1.2 2021年10月28日

#608 in 硬件支持

Download history 2/week @ 2024-03-15 37/week @ 2024-03-29 11/week @ 2024-04-05

67 每月下载次数

MIT 许可证

51KB
1K SLoC

CherryRGB

与 Cherry RGB 键盘交互的库。


lib.rs:

与 Cherry RGB 键盘交互的库

使用方法

查找 USB 键盘并初始化

use cherryrgb::{self, CherryKeyboard};

// Optionally, filter for product id if you have more than one cherry device.
let devices = cherryrgb::find_devices(Some(0x00dd)).unwrap();
let (vendor_id, product_id) = devices.first().unwrap().to_owned();
let keyboard = CherryKeyboard::new(vendor_id, product_id).unwrap();

keyboard.fetch_device_state().unwrap();

设置 LED 动画

use cherryrgb::rgb::RGB8;

// Create color: green
let color = RGB8::new(0, 0xff, 0);
let use_rainbow_colors: bool = false;

keyboard.set_led_animation(
    cherryrgb::LightingMode::Rain,
    cherryrgb::Brightness::Full,
    cherryrgb::Speed::Slow,
    color,
    use_rainbow_colors,
)
.unwrap();

为单个键(键)设置自定义 LED 颜色

use cherryrgb::rgb::RGB8;

// Reset all colors first
keyboard.reset_custom_colors().unwrap();

// Create color: green
let color = RGB8::new(0, 0xff, 0);

// Create keys struct and set key with index 42 to desired color
let mut keys = cherryrgb::CustomKeyLeds::new();
keys.set_led(42, color).unwrap();

// Send packets to keyboard
keyboard.set_custom_colors(keys).unwrap();

依赖项

~3.5–4.5MB
~92K SLoC