#cooler #keyboard #sdk #control #rgb #path #dll

sys cooler_master_sdk

Rust对cooler master SDK的封装,用于控制rgb键盘

4个版本

使用旧的Rust 2015

0.1.3 2021年10月4日
0.1.2 2021年10月2日
0.1.1 2021年10月2日
0.1.0 2021年10月2日

#1652 in 硬件支持

MIT 许可证

4MB
244

包含 (Windows DLL, 2MB) SDKDLL.dll, (Windows DLL, 2MB) SDKDLL.dll, (静态库, 5KB) SDKDLL.lib, (静态库, 5KB) SDKDLL.lib

Cooler master sdk

Crates.io
封装官方的cooler master sdk。请参见 https://templates.coolermaster.com/

需要通过路径环境变量找到cooler master sdk dll。如果路径中找不到SDKDLL,将发生运行时错误。

用法

使用"coolermasterdevice"类型封装器

let mut device = CoolerMasterDevice::new(DeviceIndex::SK621);
println!("version from device: {}", device.sdk_version);

device.set_full_color(0,0,0);

for row in 0..8
{
    for column in 0..24
    {
        device.color_matrix.key_color[row][column].r = 255;
        device.color_matrix.key_color[row][column].g = 255;
        device.color_matrix.key_color[row][column].b = 255;
        device.update_colors_from_matrix().unwrap();
        sleep(Duration::from_millis(100));
    }
}

device.set_effect(EffectIndex::Breath);
sleep(Duration::from_secs(5));



或者,如果您想创建自己的抽象,可以直接使用FFI通过C api进行

let version = unsafe{ GetCM_SDK_DllVer() };
println!("version from c api: {}", version);

unsafe
{
    EnableLedControl(true, DeviceIndex::SK621);
    SetFullLedColor(0,0,0, DeviceIndex::SK621);

    let mut color_matrix = ColorMatrix{
        key_color: [[KeyColor::new(0,0,0); 24]; 8],
    };

    for row in 0..8
    {
        for column in 0..24
        {
            color_matrix.key_color[row][column].r = 255;
            color_matrix.key_color[row][column].g = 255;
            color_matrix.key_color[row][column].b = 255;
            SetAllLedColor(color_matrix, DeviceIndex::SK621);
            sleep(Duration::from_millis(100));
        }
    }

    SwitchLedEffect(EffectIndex::Breath, DeviceIndex::SK621);
    sleep(Duration::from_secs(5));
}



我使用CLion开发了此库,感谢Jetbrains免费提供开源许可证!

依赖项