3 个版本 (破坏性)
0.4.0 | 2019 年 12 月 24 日 |
---|---|
0.3.0 | 2019 年 12 月 24 日 |
0.2.0 | 2019 年 12 月 24 日 |
#7 在 #elgato
29KB
310 行
Autodeck
一个简单的 Linux 自动化守护进程,旨在与 Elgato Stream Deck 设备交互。有关一组示例自动化,请参阅 example.toml,有关自动化选项的更多信息,请参阅 文档。
状态
工作中,基本功能正常,仅在 Stream Deck Mini 上测试过,欢迎拉取请求。
用法
安装
预编译的二进制文件可在 发行版页面 上找到(包括一个 .deb,该 .deb 会安装配置文件和 systemd 单元)。该实用程序还可以通过使用 cargo install autodeck
从源代码安装,但您需要自行管理配置文件等。
对于 Debian 软件包,自动化在 /etc/autodeck/autodeck.toml
中指定,配置在 /etc/autodeck/autodeck.env
中。
您可以使用以下命令在启动时注册服务:sudo systemctl enable autodeck
,并使用以下命令检查日志:sudo journalctl -u autodeck --follow
。
自动化文件
自动化文件由一系列 [[automata]]
组成,每个对应于流牌上一个按钮。这些 automata
有一个 state
字段描述它们的初始状态,以及一个 on_init
执行器。
每个 automata
包含一组命名的 states
(例如,[automata.states.error]
),这些可能包含 on_press
和 on_poll
执行器,当按钮被按下或在定期轮询时调用,以及一个 display
对象,它定义了在给定状态下按钮上会显示什么。
Executors
包含有关要执行的命令及其如何影响自动机状态的信息。这些包含一个 func
参数,它是要执行的命令,一个传递给命令的参数列表 args
(注意:args 不能直接包含在 func
字符串中),以及一对 on_success
和 on_failure
字段,它们映射到下一个状态。
通常,成功由命令的返回码确定(0 表示成功,非 0 表示错误),然而,在某些情况下,命令始终返回 0,但可能没有执行所需的操作。在这些情况下,您可以使用 success_filter
和 failure_filter
字段来检查标准输出的匹配数据,以及 on_failure
下一个状态字段的映射。
依赖关系
~23MB
~238K SLoC