#stream #devices #deck #driver #usb-device #elgato #interface

bin+lib streamdeck

Elgato Stream Deck 驱动和命令行界面

19 个版本

0.9.0 2024 年 4 月 19 日
0.8.0 2024 年 1 月 10 日
0.7.0 2022 年 7 月 30 日
0.6.2 2022 年 3 月 27 日
0.4.1 2019 年 12 月 24 日

硬件支持 中排名 181

Download history 175/week @ 2024-04-20 8/week @ 2024-04-27 3/week @ 2024-05-18 2/week @ 2024-05-25 1/week @ 2024-06-01 22/week @ 2024-06-08 11/week @ 2024-06-15 5/week @ 2024-06-22 30/week @ 2024-06-29 2/week @ 2024-07-06 101/week @ 2024-07-27 8/week @ 2024-08-03

每月下载 109
用于 7 Crates(直接使用 3 个)

MPL-2.0 许可证

45KB
757

Rust Elgato StreamDeck 驱动和工具

一个基于 hidapi 的驱动程序,用于直接与 Elgato StreamDeck 设备交互,旨在允许应用程序直接在任意平台上使用这些设备(无需使用 Elgato SDK),基于 python streamdeck 库 的基础上。

状态

GitHub tag Travis Build Status Crates.io Docs.rs

工作进行中。欢迎提交拉取请求!

特性

  • 连接到设备
    • 通过 VID/PID/序列号连接
    • 匹配设备 类型(Mini 等)
  • 读取按钮
    • 轮询模式(带有阻塞/非阻塞选择和超时)
    • 多线程/异步/回调驱动模式
  • 写入亮度
  • 设置按钮
    • 写入颜色
    • 写入图像
  • 设备
    • Stream Deck Mini
    • Stream Deck 原版(未测试)
    • Stream Deck 原版 V2
    • Stream Deck XL

入门

  • cargo add streamdeck 将此库添加到您的项目中(使用 cargo-edit
  • cargo install streamdeck 仅安装实用程序
  • git clone [email protected]:ryankurte/rust-streamdeck.git 来克隆仓库

构建需要 libusbhidapi 软件包。

在 Linux 上设置权限

  • cp 40-streamdeck.rules /etc/udev/rules.d/ 允许用户访问 streamdeck 设备
    • 注意这可能需要根据其他设备的 vid/pid 组合进行编辑
  • sudo udevadm control --reload-rules 用于重新加载 udev 规则

使用命令行界面

streamdeck-cli --help 显示可用的子命令和选项,将 --help 传递给子命令(例如,streamdeck set-image --help 显示该子命令的选项)

streamdeck-cli 0.4.1
A CLI for the Elgato StreamDeck

USAGE:
    streamdeck-cli [OPTIONS] <SUBCOMMAND>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
        --log-level <level>    Enable verbose logging [default: info]
        --pid <pid>            USB Device Product ID (PID) in hex [env: USB_PID=]  [default: 0063]
        --serial <serial>      USB Device Serial [env: USB_SERIAL=]
        --vid <vid>            USB Device Vendor ID (VID) in hex [env: USB_VID=]  [default: 0fd9]

SUBCOMMANDS:
    get-buttons       Fetch button states
    help              Prints this message or the help of the given subcommand(s)
    reset             Reset the attached device
    set-brightness    Set device display brightness
    set-colour        Set button colours
    set-image         Set button images
    version           Fetch the device firmware version

这个库站在巨人的肩膀上(他们已经完成了所有的逆向工作)...

你可能还想看看

图标 来自 material.iobrandeps.com

依赖关系

~10–21MB
~276K SLoC