KeyClaim 检测本机鼠标或触控板活动,通过局域网通知当前持有键盘的电脑,让它把 MX Keys 切到目标通道。它不转发鼠标指针、按键内容或剪贴板,也不是 Logitech 官方产品。
从 GitHub Releases 下载,不需要安装 Node.js 或 Rust。
| 平台 | 当前公开安装包 | 安装方法 |
|---|---|---|
| Windows 10 / 11 x64 | KeyClaim_0.3.0_x64-setup.exe | 退出旧版后运行安装向导;需要 WebView2 Runtime |
| macOS Apple Silicon | KeyClaim_0.3.0_aarch64.dmg | 打开 DMG,将 KeyClaim.app 拖入 Applications |
当前公开稳定版本为 0.3.0,支持三机联动。macOS 仅提供 Apple Silicon 包,完整最低系统版本兼容性尚未逐一验证。
Windows 安装包未签名,Mac 包未经过 Apple 公证,系统可能提示或阻止打开。请核对 Release 的 SHA256SUMS.txt,并一并保留许可证附件;不要关闭 SmartScreen、Gatekeeper 等系统安全保护。
| 项目 | 当前实机使用范围 |
|---|---|
| 键盘 | MX Keys,通过支持切换主机功能的 Logitech 接收器分别连接三台电脑 |
| 系统 | Windows x64 + macOS Apple Silicon |
| 鼠标 | Windows 使用 MX Master 3,Mac 使用 MX Master 3S 或内置触控板 |
| 通道 | Mac mini 为 1、Windows 为 2、MacBook Pro 为 3 |
| 网络 | 可信的同一局域网,三端在线并可处理后台任务 |
鼠标只用于检测本地活动,不需要具备 MX 系列切换能力;其他鼠标可能适用,但未逐一验证。其他键盘、MX Keys S、Bolt 键盘、纯蓝牙、Intel Mac 和 Linux 不在当前实机验收范围内。
- 先用键盘的 Easy-Switch 将三台电脑分别配到通道 1、2、3,确认手动切换正常。
- 三端安装并启动 KeyClaim,点击右上角齿轮进入设置。
- 将 Mac mini 设为通道 1、Windows 设为通道 2、MacBook Pro 设为通道 3;三端填写完全相同的自定义随机配对码,建议不少于 32 个随机字符。
- 按系统提示允许两台 Mac 的输入监控、本地网络访问,并确认系统允许三端局域网通信。
- 开启“自动跟随”,依次在三台电脑移动鼠标或触控板,检查键盘是否真正归位。
软件配对码是局域网消息的校验凭据,不能代替键盘与接收器的硬件配对。已有受支持设备通常只需设置,不需要修改源码。
设置页支持 Ctrl+, / ⌘, 打开、Esc 返回;“取消”不会保存修改。每台电脑只设置自己的通道,其他主机会通过同一配对码在局域网中自动发现。
Windows 关闭窗口后仍驻留托盘;Mac 默认驻留菜单栏、不占 Dock。通过设置页“退出键来”结束应用,三端均可开启开机自启。
目标电脑检测本地输入 → 局域网召回请求 → 当前持有方切换键盘 → 目标方确认键盘上线
- TCP 是主链路,UDP 广播辅助发现,默认端口均为
45823;Windows 会在本地/24网段寻找并保持两条远端连接。 - 0.3.0 增加三主机状态集合、通道 1 适配、双远端 TCP 发现与“仅当前持有键盘的主机执行切换”,避免第三台设备重复响应。
- 配对码用于签名校验;消息有时效和重复请求检查,但通信不加密。配置及配对码保存在本机,没有云账号、遥测或公网中继。
- macOS 使用原生输入监听,Windows 使用 Raw Input;不记录按键内容。
- 当前持有方深度休眠时,仍需用 Easy-Switch 手动切换。
- 0.2.9 修复 macOS 后台键盘探测的临时对象积累,避免长时间运行后内存持续增长;两端通信协议和切换逻辑保持兼容。
- 0.2.8 修复过早判定召回超时、重试被去重记录阻止,以及 Mac 接收器读取被无关消息干扰的问题;成功仍须由目标接收器确认键盘上线。
- 0.2.8 已验证现有双机的安装启动、单进程、端口、握手和双向实机切换;当时 7 次切换全部到达目标通道,未再记录召回超时,但尚未完成长期稳定性与全部兼容性验收。
先确认手动切换正常、配对码一致、通道互相对应、键盘已唤醒,以及接收器、网络与权限可用。关闭“自动跟随”即可停止自动召回。
Windows 在源码目录运行只读诊断:
powershell -ExecutionPolicy Bypass -File .\scripts\diagnose-windows.ps1脚本检查进程、UDP、防火墙、网卡和设备,不修改设置,不输出配对码明文;它不检查 TCP。公开反馈前仍须删除配对码指纹、主机名、IP、设备标识等个人信息。
scripts/repair-windows-network.ps1 会请求管理员权限,创建本地子网 UDP 入站规则并重启应用;它不处理 TCP 或出站规则,只应在确认需要时使用,不要关闭整个防火墙。
普通问题请提交 Issue,安全问题按 SECURITY.md 私下报告。
构建依赖、目录职责、检查命令与本地发布方法统一放在 开发与贡献说明。GitHub Actions 保持关闭,不会因提交自动构建。
macOS 上可在接收器与键盘在线、已允许输入监控的情况下运行 npm run test:memory。该检查预热后读取键盘状态 500 次,限制堆内存增长,不切换通道;缺少权限或硬件时以退出码 77 表示未运行,不视为通过。
自有代码采用 MIT License,允许修改、分发和商用,须保留版权及许可声明,不提供担保。HID++ 协议与部分 Mac 接收器逻辑参考 mxswitch,第三方声明见 THIRD_PARTY_NOTICES.md。历史开源检查见 开源准备记录。
