把小米蓝牙语音遥控器变成 Mac 的按键和语音控制器。支持原生 F5、按前台软件自动切换键位,以及 Enter / Space 独立映射。
Xiaomi Bluetooth remote key remapping for macOS — native F5 voice key, per-app keyboard mappings, and virtual microphone routing.
English · 使用与迁移 · 提交问题 · GPL-3.0-only
- 按软件自动映射:例如确定键默认是 Enter,在指定播放器里变成 Space;其他按键继续沿用默认值。
- 语音键原生 F5:在语音触发键中选择「原生 F5」,重启和重连后保留设置,按下/释放不叠加另一组软件触发。
- 独立设置:每台遥控器的单击、双击、长按可以分别配置;支持快捷键、方向键和基本媒体动作。
- 独立应用身份和图标:
MiKeyFlow.app,不会连接官方 SayAll 的自动更新源,也不使用其专有鸭子 Logo。 - 配置可保存和备份:软件规则随设置持久保存、导入导出;可以导入 SayAll 1.9.21 的公开 JSON 配置。
按软件识别基于 macOS 公开的前台应用 Bundle ID,无额外运行时依赖。同一软件中的不同窗口、网页和页面暂不单独识别。语音快捷键由独立设置控制,本次按软件规则只覆盖普通按键。
- 打开 MiKeyFlow,开启「自定义按键」。
- 点击中间确定键的「单击」,在动作编辑区上方选「默认映射」,设为 Return(Enter)。
- 点「添加软件…」,选择目标
.app,将其确定键单击设为 Space(空格)。 - 切换前台软件并按遥控器:对应软件使用专用规则,其他软件沿用默认映射。
选择「沿用默认映射」可清除一个槽的覆盖;删除软件规则后恢复默认。页面上选中的软件只决定编辑范围,实际执行始终跟随前台软件。
需要 macOS、完整 Xcode 与其命令行工具。当前本机候选在 Apple Silicon / macOS 27 / Xcode beta Swift 6.4 验证;Intel 和更早系统仍待现场验证。
git clone https://github.com/tq-w/MiKeyFlow.git
cd MiKeyFlow
SAYALL_PRIVATE_PLATFORM_MODE=public CONFIGURATION=release ./scripts/build-app.sh
./scripts/verify-app.sh dist/MiKeyFlow.app
open dist/MiKeyFlow.app如机器有多个 Xcode,通过 DEVELOPER_DIR 选择完整 Xcode。构建脚本保留 swift --disable-keychain,仅解析公开依赖。常规构建直接使用已提交的图标,不需要 Python/Pillow。
应用需要蓝牙、输入监控和辅助功能权限;虚拟麦克风沿用上游公开驱动链路。本仓库不重新分发不受支持的私有驱动或私有服务。已有 MiRemoteV 2ch 可继续使用。
这是社区源码维护版本,当前版本 0.1.0。软件规则与原生 F5 有自动化回归;真机兼容性、音频首字尾音、蓝牙重连和第三方软件实际接收仍需用户现场确认。不要将构建通过当作所有遥控器已兼容。
目前不提供签名公证的公共二进制发行包;请从源码构建。仅本机安装的 ad-hoc 测试包不是官方发行版,也不是对原版私有模块的完整替代。
MiKeyFlow 是基于 HD838A/remote-mic-app / SayAll 的社区派生作品,保留上游提交历史及 GPL-3.0-only 许可和第三方归属。它不是官方 SayAll 发行版,也不表示获得官方背书。
上游部分功能的实现不在公开仓库中,包括组合动作、高级键位方案、常用语/会员服务、AI 和部分设备/连接适配。MiKeyFlow 不包含这些私有组件,也不解除其权益限制。新增的简单按软件规则独立实现在公开宿主内。
上游专有 Logo 已替换为 MiKeyFlow 的原创方向键图标。详见 版权、图标许可 和 维护说明。
关键词:小米遥控器 Mac、蓝牙语音遥控器、按键映射、F5 语音键、按应用映射、Enter Space、Xiaomi Remote、macOS keyboard remapper、per-app shortcuts、virtual microphone、SayAll fork。
开发文档入口:DOCUMENTATION.md。上游保留文档中的官方发布流程和历史验收不代表本社区版本已完成对应发布或兼容性验证。
