ShoelessTim/RazerStream

GitHub: ShoelessTim/RazerStream

RazerStream 是一款原生 macOS 应用,通过直接与 Razer Stream Controller 硬件通信,为这款被官方放弃的宏控制台提供轻量、全功能的社区替代驱动。

Stars: 2 | Forks: 2

# RazerStream 一款专为 **Razer Stream Controller** 打造的原生 macOS 应用。这是一款包含 8 个按键、6 个旋钮和触摸屏的宏控制台,由 Loupedeck 开发,后来被 Logitech 所抛弃。尽管官方软件已经停止维护,但硬件本身依然可以正常工作;这个项目通过直接与设备通信,让它能够继续发挥余热。 RazerStream 比它所替代的官方应用更快速、更轻量,并且这是一个社区项目;欢迎 fork 它,进行扩展,并提交 pull request。 本产品与 Razer、Loupedeck 或 Logitech 无关。 ## 功能特性 - 全面控制所有 8 个 LCD 触控块、触摸屏表面、6 个旋转编码器(支持旋转和按压),以及 8 个带彩色 LED 的物理按键 - 可在任意触控块上绘制标签、颜色、SF Symbols 图标或自定义图像 - 支持为每个控件设置不同的行为模式:点击 (tap)、切换 (toggle,有状态,例如播放/暂停)、瞬时 (momentary,按住有效) 以及 shift(按住时显示另一个页面) - 动作支持:打开应用、打开 URL、执行 shell 命令、运行 AppleScript、录制按键序列、媒体键(播放/暂停、上一个、下一个)、调节音量(带有原生的屏幕显示 HUD)、页面导航,以及显示应用窗口 - 每个配置文件支持多个页面;可以相互切换,或将其作为 shift 图层使用 - 原生调色板(内置蜡笔色板)、随系统切换的暗黑模式、开机自启动,以及带有 LED 扫描和屏幕图案显示的设备自检功能 ## 环境要求 - macOS 14 或更高版本 - 一台 Razer Stream Controller(USB VID 0x1532, PID 0x0D06) - Xcode 16 或更高版本(用于构建) ## 安装(无需自行构建) 1. 从 [最新发布版本](https://github.com/ShoelessTim/RazerStream/releases/latest) 下载 `RazerStream-vX.Y.Z.zip` 2. 解压并将 `RazerStream.app` 拖入 `/Applications` 3. 双击打开;发布版本已通过 Developer ID 签名并经过 Apple 公证,因此不会出现任何警告 4. 在弹出的提示中授予辅助功能 (Accessibility) 权限;按键和媒体键模拟需要此权限 ## 构建并运行 ``` swift build -c release ./scripts/make_app.sh release install open /Applications/RazerStream.app ``` `make_app.sh` 会打包生成一个已签名的 `RazerStream.app`。传入 `install` 参数可将其复制到 `/Applications`。模拟按键和媒体键需要 macOS 的辅助功能 (Accessibility) 权限;如果权限缺失,应用会弹出提示并显示状态标签。 此外,项目还包含一个用于测试硬件的小型 CLI: ``` swift run rstream monitor # print every button, knob, and touch event swift run rstream test-pattern # draw a color test to the screen swift run rstream brightness 7 ``` ## 项目结构 - `Sources/RazerStreamKit` 协议库;包含串口通信、WebSocket 帧处理、设备指令与事件。在任何 Swift 程序中,只需依赖此模块即可与硬件进行交互。 - `Sources/RazerStreamCLI` `rstream` 命令行工具。 - `Sources/RazerStreamApp` SwiftUI 应用程序。 - `PROTOCOL.md` 逆向工程的底层通信协议,逐字节进行了详细记录。 - `ROADMAP.md` 项目的发展规划。 ## 其他平台 本应用目前仅限 macOS,并且未来也将维持现状,但整个项目架构在设计时充分考虑了可移植性。`RazerStreamKit` 仅依赖于 Foundation 和 POSIX 串行 I/O,只需添加少量设备发现适配代码,即可在 Linux Swift 环境下编译,这也就意味着可以几乎零成本地将 `rstream` CLI 移植到 Linux。完整的通信协议详见 [PROTOCOL.md](PROTOCOL.md);基于此协议,可以在无需进行任何抓包分析的情况下,直接在其之上构建 Linux GUI(GTK 或 Qt)或 Windows 应用(C# 是该平台上的明智之选)。 我们非常欢迎在这方面做出贡献;详情请参阅路线图。 ## 致谢 协议层面的基础工作离不开社区逆向工程努力的支持,特别要感谢 foxxyz/loupedeck 项目。感谢大家。 ## 开源协议 MIT 许可证;详见 [LICENSE](LICENSE)。
标签:Razer, Swift, 宏控制, 桌面应用, 直播工具, 硬件交互