#logitech #sdk #gaming #lcd #bindings #keyboard #screen

logitech-lcd-sys

Logitech LCD SDK 的 FFI 绑定和加载器

2 个稳定版本

使用旧 Rust 2015

2.0.0 2018年5月24日
1.0.4 2017年6月20日

#1574硬件支持


logitech-lcd 中使用

MIT/Apache

13KB
221

logitech-lcd

Build status crates.io docs.rs

Rust 对 Logitech 游戏LCD/游戏面板SDK 的绑定

概述

Logitech LCD/游戏面板SDK引入了第二屏功能,允许GamePanel启用的Logitech游戏键盘显示游戏信息、系统统计信息等。SDK允许在您的代码中集成GamePanel功能。

文档

支持设备

  • G19 - 320x240 全RGBA (未测试)
  • G510 - 160x43 灰度 (正常工作)
  • G13 - 160x43 灰度 (未测试)
  • G15 v1 - 160x43 灰度 (未测试)
  • G15 v2 - 160x43 灰度 (未测试)
  • LCD 模拟器 - 160x43 灰度 (正常工作)
  • LCD 模拟器 - 320x240 全RGBA (正常工作)

LCD 模拟器

Logitech 游戏软件附带LCD模拟器。您可以通过在Logitech 游戏软件托盘图标上右键单击并选择“LCD 模拟器”来访问它。

要求

动态加载

此包将在运行时尝试定位和加载 LogitechLcd.dll。我们首先在Windows注册表中查找 CLSID,如果找到,则使用带有完整路径的调用 LoadLibrary() 加载库。如果失败,我们使用仅包含DLL名称的 LoadLibrary() 调用。这将搜索您的 PATH 以找到库。

示例

单色 HelloWorld

extern crate logitech_lcd;

fn main() {
    let mut driver = logitech_lcd::Driver::init_mono("Hello World").unwrap();

    driver.set_mono_text(1, "        Hello World!").unwrap();
    driver.update();

    std::thread::sleep(std::time::Duration::from_millis(5000));
}

hello-world-mono

彩色 HelloWorld

extern crate logitech_lcd;
use logitech_lcd::{Driver, COLOR_WIDTH, COLOR_HEIGHT, COLOR_BYTES_PER_PIXEL};

fn main() {
    let blank_screen = std::iter::repeat(255u8).take(
        COLOR_WIDTH * COLOR_HEIGHT * COLOR_BYTES_PER_PIXEL).collect::<Vec<u8>>();

    let mut driver = Driver::init_color("Color image app").unwrap();
    driver.set_color_background(&blank_screen[..]).unwrap();

    driver.set_color_title("  Hello World!", 0, 0, 0).unwrap();

    driver.set_color_text(0, "Red",     0xFF, 0x00, 0x00).unwrap();
    driver.set_color_text(1, "Green",   0x00, 0xFF, 0x00).unwrap();
    driver.set_color_text(2, "Blue",    0x00, 0x00, 0xFF).unwrap();
    driver.set_color_text(3, "Yellow",  0xFF, 0xFF, 0x00).unwrap();
    driver.set_color_text(4, "Cyan ",   0x00, 0xFF, 0xFF).unwrap();
    driver.set_color_text(5, "Magenta", 0xFF, 0x00, 0xFF).unwrap();
    driver.update();

    std::thread::sleep(std::time::Duration::from_millis(10000));
}

hello-world-color

工件应在模拟器中可见。

单色图像

/examples/mono-image.rs

image-mono

彩色图像

/examples/color-image.rs

image-color

许可证

代码

根据以下任一许可证授权

艺术作品

Rust 和 Cargo 标志(位图和矢量图)归 Mozilla 所有,并根据Creative Commons Attribution 许可协议(CC-BY)条款进行分发。

贡献

除非您明确表示,否则您有意提交以供包含在本作品中的任何贡献都应按照上述方式双重许可,不附加任何额外条款或条件。


lib.rs:

Logitech LCD SDK 的 FFI 绑定和加载器

LogitechLcd 将在运行时尝试定位和加载 LogitechLcd.dll 以进行动态链接。

依赖

~150KB