Repository navigation
Releases: winglight9/KeyBridge
Release list
KeyBridge / 键桥 1.5
KeyBridge / 键桥 1.5
- 接收组件安装/更新后,自动局部重新加载键桥的虚拟麦克风,取消默认要求重启电脑的流程。
- 不终止整个系统音频服务或其他音频驱动。管理员确认仍由系统安装器处理;键桥虚拟麦克风可能短暂中断。
- 已在 Mac mini、macOS 15.8.1 上确认:键桥驱动宿主更换,主 coreaudiod 与其他音频组件 PID 不变,新驱动实际加载。组件恢复不等于语音应用已完成收音验收。
- 修复 Fn 接收事件类型遗漏,增加 Fn/扩展功能键/系统按键的原生事件通道,保留按下、松开和长按的原始事件类型与标志,不映射成应用快捷键。两端需更新;F5 听写和微信 Fn 长按的实际行为仍待用户确认。
- 保留单个麦克风勾选项:缺少组件时引导安装,准备完成后自动继续,采集与接收都就绪才显示开启。
- 已正常加载 1.4 接收组件的用户无需再次安装组件;应用更新即可。默认关闭、有线限定、断线停止及不自动恢复录音保持不变。
English
- Receiver installation/update reloads only KeyBridge's isolated virtual-microphone helper; no computer restart is requested.
- The installer does not terminate coreaudiod or other audio drivers. Administrator approval stays in the system installer, and KeyBridge's virtual input may briefly disappear.
- Scoped reload was observed on the target Mac mini with macOS 15.8.1: KeyBridge helper replaced, other audio PIDs unchanged, new component loaded. Voice-app audio acceptance remains separate.
- Adds a negotiated native-keyboard path for Fn, extended function keys and system-defined auxiliary keys, preserving original event types and flags rather than mapping application actions. Physical F5/WeChat acceptance is pending.
- Setup continues automatically after component readiness. Both microphone switches turn on only after capture and reception are ready.
- An already loaded 1.4 receiver implementation is compatible; reinstalling that component is unnecessary. Wired audio only, default off, no automatic capture after reconnect.
当前 Apple Silicon 版本采用本地签名,未经 Apple 公证。推荐认证雷雳线,Mac mini M4/M4 Pro 使用背面雷雳接口;蓝牙输入延迟相对较高,音频不支持蓝牙。
KeyBridge / 键桥 1.4
KeyBridge / 键桥 1.4
中文
修复麦克风组件拒绝连接
- 修复在 Mac mini、macOS 15.8.1 上复现的进程校验兼容问题:音频服务账户执行
PROC_PIDTBSDINFO跨用户查询返回EPERM,使虚拟麦克风首次连接被拒绝,显示1852797029 / nope。 - 改用内核公开的
KERN_PROC_PID查询身份及启动时间。保留控制台用户、固定应用路径、代码签名和 PID 重用检查;没有取消身份校验。 - 在 Mini 音频账户下,新查询方式及后续完整签名校验已通过诊断;安装后驱动内部的实际握手和语音收音仍待验收。
- 增加驱动实际加载版本、认证失败步骤、错误码和调用进程信息,后续可从复制诊断中定位。
- 勾选「共享麦克风」时会识别旧组件并引导更新。**已安装旧组件的接收端也需要更新组件,并在方便时重启,让音频服务加载新版本。仅更新键桥应用不够。**不会自动重启电脑或音频服务。
麦克风仍为默认关闭的有线实验功能;来源采集成功且接收端接受音频后,两端才显示开启。取消任一端即可停止。通话软件仍需选择 KeyBridge Microphone。采用本地签名,未获 Apple 公证。
推荐认证 Thunderbolt 3/4/5 线;USB4 需明确雷雳兼容。Mac mini M4/M4 Pro 使用背面雷雳接口。蓝牙输入延迟相对较高,音频不支持蓝牙。
English
- Fixes a reproduced identity-query compatibility failure under the macOS 15.8.1 audio-service account: cross-user
PROC_PIDTBSDINFOreturnsEPERM, causing microphone connection rejection (1852797029,nope). - Uses the kernel's public
KERN_PROC_PIDquery while retaining console-user, installed-app path, code signature and process start-time checks. - The updated query and subsequent full signature validation passed under the audio account on the Mini. Actual loaded-driver handshake and voice-app audio acceptance remain pending.
- Diagnostics now include loaded implementation version and the last authentication stage, error and caller PID.
- Enabling the microphone guides receiving-component updates. Receivers with an old component must update it and restart when convenient to load it; updating the app alone is insufficient. No automatic audio-service or Mac restart.
Wired microphone sharing remains experimental and off by default. Both switches indicate enabled only after capture and reception are ready. Select KeyBridge Microphone in your voice app. Locally signed, not Apple notarized.
KeyBridge / 键桥 1.3
KeyBridge / 键桥 1.3
中文
- 麦克风入口改为「原生多指手势」下方的同款「共享麦克风 · 实验功能」勾选项,移除折叠面板、独立操作按钮和省略号菜单。
- 勾选后检查有线连接、两端版本、接收组件和来源权限,缺少时按步骤引导;组件加载、权限就绪后自动继续。不会代替用户批准管理员安装、麦克风授权或重启电脑。
- 来源采集已启动、接收端已接受首帧音频后,两端才显示已勾选;准备中保持未勾选,再次点击可取消。任一端取消勾选都停止共享。
- 可从接收端请求所选来源设备开启麦克风。两端需同时更新到 1.3。麦克风保持默认关闭,断线或重启后需重新勾选。
- 状态表示键桥音频链路就绪,不代表所有通话软件已验收。通话软件仍需选择 KeyBridge Microphone,并保留其自身麦克风权限。不会自动改变系统默认输入设备。
- 音频仅支持有线。推荐认证 Thunderbolt 3/4/5 线;USB4 需明确支持雷雳兼容。Mac mini M4/M4 Pro 使用背面雷雳接口。蓝牙输入延迟相对较高。
本版通过编译及打包检查;完整首次安装、权限引导与语音应用收音仍需用户实机确认。当前为本地签名的 Apple Silicon 版本,未获 Apple 公证。
English
- Replaces the microphone panel with a single Share microphone · Experimental switch below native gestures on both Macs.
- Checking guides missing wired connection, receiver component and source microphone permission requirements. It continues after readiness is detected, without granting permissions, approving installation or restarting for you.
- Both switches turn on only after source capture starts and the receiver accepts audio. They remain off while preparing; click again to cancel. Switching off either Mac stops sharing.
- The receiving Mac can request the selected source Mac's microphone. Update both Macs to 1.3. Default remains off; reconnecting or restarting does not resume capture.
- Voice apps still need to select KeyBridge Microphone and retain their own microphone permission. No system default-input change. Full installation and voice-app audio acceptance remain pending.
- Wired audio only. Use a certified Thunderbolt 3/4/5 cable and rear Thunderbolt ports on Mac mini M4/M4 Pro. USB4 needs explicit Thunderbolt compatibility. Bluetooth input has comparatively higher latency.
Locally signed Apple Silicon build; not Apple notarized.
KeyBridge / 键桥 1.2
KeyBridge / 键桥 1.2
中文
新增:实验性有线麦克风共享
- 将一台 Mac 的麦克风,通过已配对、加密的有线连接提供给另一台 Mac。蓝牙不支持音频。
- 使用 48 kHz、单声道、16 位小端 PCM,每帧 20 ms(960 个采样)。这是传输格式与帧长,不是实测端到端延迟。
- 独立开启/静音,默认关闭;不随「键盘应用于」选择启用或改变音频去向。
- 断线、睡眠或会话结束时停止采集;重连后不会自动恢复录音,需要用户再次开启。
- 接收端选装虚拟麦克风组件,需要管理员批准一次安装。系统可能需要用户在方便时重启接收端才能载入组件,不会无提示重启音频服务或电脑。
- 在接收端语音应用内选择 KeyBridge Microphone。软件不会自动修改系统默认麦克风。
验证范围与安装
本轮麦克风功能尚未完成两台 Mac 的实机音频验收。不承诺所有语音应用、所有 macOS 版本均能识别或稳定使用,也没有固定延迟、回声消除或系统降噪保证。此前键盘/触摸板验收不能代替音频验收。
两台 Mac 使用相同版本。来源端仅在用户启用后申请麦克风权限;接收端应用也可能需要自己的麦克风权限。组件安装、加载与故障排查见麦克风说明。当前 Apple Silicon 测试版采用本地签名,不是 Apple Developer ID 签名,也未经 Apple 公证。
连接提醒
- 蓝牙输入延迟较高,建议临时或备用;音频仅限有线。
- 使用明确支持雷雳的认证 Thunderbolt 3 / 4 双 USB-C 线;USB4 需厂商明确兼容雷雳,不能仅凭“全功能”、充电功率或 10 Gb/s 标识判断。
- Mac mini(2024,M4 / M4 Pro)使用背面雷雳接口,前面 USB-C 不提供此模式所需的雷雳连接。
English
New: experimental wired microphone sharing
- Send one Mac’s microphone to its paired Mac through the encrypted wired connection. Bluetooth audio is not supported.
- Audio uses 48 kHz mono signed 16-bit little-endian PCM, in 20 ms frames (960 samples). This describes the wire format and frame duration, not measured end-to-end latency.
- Separate enable/mute controls are off by default. Changing the keyboard destination does not enable audio or change its destination.
- Disconnecting, sleeping or ending the session stops capture. Reconnecting does not resume recording; enable it again manually.
- The receiving Mac needs an optional virtual-microphone component with one-time administrator approval. macOS may require a user-initiated restart to load it. KeyBridge does not silently restart the audio service or the Mac.
- Choose KeyBridge Microphone in the receiving voice app. KeyBridge does not automatically change the system default microphone.
Validation and installation
The microphone feature has not yet completed physical two-Mac audio acceptance testing. Recognition and stable operation in every voice app or macOS version are not established. No fixed latency, echo cancellation or system noise-reduction guarantee is made. Earlier keyboard/trackpad acceptance does not validate audio.
Use the same app version on both Macs. The source requests microphone permission only when the user enables sharing; the receiving voice app may need its own microphone permission. See the microphone guide for component installation, loading and troubleshooting. This Apple Silicon beta is locally signed, without Apple Developer ID signing or Apple notarization.
Connection reminder
- Bluetooth input has higher latency and is best kept for temporary use or backup. Audio requires wired mode.
- Choose a certified Thunderbolt 3 / 4 cable with USB-C connectors. USB4 requires explicit manufacturer confirmation of Thunderbolt compatibility; connector shape, charging wattage and a 10 Gb/s label alone are insufficient.
- Use a rear Thunderbolt port on Mac mini (2024, M4/M4 Pro); the front USB-C ports do not provide the Thunderbolt connection this mode needs.
KeyBridge / 键桥 1.1
KeyBridge / 键桥 v1.1
中文
本轮更新
-
公开版本号简化为 1.1;后续依次使用 1.2、1.3。
-
修复重连后输入去向被各端独立默认值覆盖的问题:按两台设备身份保存输入去向及修订号,认证后交换选择记录,协调采用较新的选择。没有历史记录时,两端按相同规则选择默认来源(有触摸板优先,其次键盘,再按设备身份排序)。
-
连接就绪时先向对方同步选择,再激活输入去向;主动停止也保存为本机输入,供后续重连恢复。首次从旧版升级没有可恢复的历史记录,需要手动选择一次。
-
启动后,在当前连接方式中重新连接上次设备;错开两端的主动连接,保留配对与指纹校验。重复的选择同步消息不再中断已启动的输入转发。
-
为普通合成输入事件补充回放标记,避免键桥接收端注入的事件再次进入捕获路径。
-
调整来源端指针锚点处理,避免应用合成的指针事件改写本机触摸板指针锚点。
-
诊断计数新增
synthetic,帮助区分合成事件与物理输入,便于排查远程控制软件同时运行时的指针干扰。
已确认与待验证
- 用户已确认上一轮更新后,M1 Pro 启动台中的键桥图标恢复正常。
- 代码已确认重连去向问题的原因:旧的连接就绪逻辑每次都根据本端是否有键盘重建来源,并把目标设为来源;没有持久化历史,两台因而各自生成默认值。本轮针对该逻辑修复,尚未完成 1.1 两台 Mac 的实机重连验收。
- 本轮代码检查发现了合成事件隔离与指针锚点保护的缺口,以上修改针对这些缺口增加防护。这尚不能确认它们就是 UU 同时使用时指针冲突的根因,也不能宣称 UU 共用问题已通过实机验证解决。
- beta.2 的用户实测结果仅适用于当时的 M1 Pro MacBook → Mac mini M4、两台 macOS 15.8.1 的有线环境;不能将该结果当作本轮改动或与 UU 同时运行的验证结果。
连接与安装提示
- 蓝牙延迟较高,建议仅临时或备用;日常使用优先有线。
- 使用明确支持雷雳的认证 Thunderbolt 3 / 4 双 USB-C 线;USB4 线需厂商明确说明兼容雷雳,不能仅凭“全功能 Type-C”、充电功率或 10 Gb/s 标识判断。
- Mac mini(2024,M4 / M4 Pro)使用背面雷雳接口,前面两个 USB-C 为 USB 3,不提供本模式所需的雷雳连接。详见线材与接口。
- Apple Silicon 测试版采用本地签名,不是 Apple Developer ID 签名,也未经 Apple 公证。两台安装同一版本;权限与首次打开步骤见安装说明。
English
Changes
-
Simplify the public version to 1.1, followed by 1.2, 1.3 and so on.
-
Prevent independent defaults from overwriting the selected route on reconnect. Save the route and revision for the pair of device identities, exchange records after authentication, and coordinate on the newer selection. When neither Mac has history, both use the same default-source ordering: trackpad, then keyboard, then device identity.
-
Advertise the selection before activating the route when the connection becomes ready. Explicitly stopping also saves a local-input route for later reconnection. The first upgrade from an older version has no saved history; select the desired route once.
-
On launch, reconnect to the previous device using the selected connection mode. Stagger outgoing connections and retain pairing/fingerprint checks. Duplicate route synchronization messages no longer interrupt active input forwarding.
-
Add replay markers to ordinary synthetic input events to keep KeyBridge-injected events from re-entering capture.
-
Protect the source cursor anchor from application-generated pointer events.
-
Add a
syntheticdiagnostic counter to distinguish synthetic events from physical input when investigating interference with remote-control software running at the same time.
Confirmed results and remaining validation
- The user confirmed that the M1 Pro Launchpad icon appeared correctly after the previous update.
- Code inspection confirmed the cause of route resets: the previous connection-ready logic rebuilt the source from whether the local Mac had a keyboard, then set the destination to that source. It did not persist history, so both Macs independently chose defaults. This update corrects that logic; 1.1 has not yet completed a physical two-Mac reconnect acceptance test.
- Code inspection identified gaps in synthetic-event isolation and cursor-anchor protection. This update adds safeguards for those gaps. The findings do not establish the root cause of the pointer conflict with UU, and the update has not yet been physically verified to resolve simultaneous use with UU.
- The beta.2 physical acceptance result applies to the earlier wired M1 Pro MacBook → M4 Mac mini setup, both on macOS 15.8.1. It does not validate this update or simultaneous use with UU.
Connection and installation
- Bluetooth has noticeable latency. Use it temporarily or as a backup; prefer wired for daily work.
- Choose a certified Thunderbolt 3 / 4 cable with USB-C connectors. Consider USB4 only when the manufacturer explicitly confirms Thunderbolt compatibility; connector shape, charging wattage and a 10 Gb/s label alone are insufficient.
- Use a rear Thunderbolt port on Mac mini (2024, M4/M4 Pro). Its front USB-C ports provide USB 3, not the Thunderbolt connection required here. See cables and ports.
- This Apple Silicon beta is locally signed, without Apple Developer ID signing or Apple notarization. Install the same version on both Macs; see the setup guide for permissions and initial launch.
KeyBridge / 键桥 v0.2.0-beta.2
KeyBridge / 键桥 v0.2.0-beta.2
中文
本轮更新
- 修复雷雳网桥已有地址、但应用无法取得接口而无法发现对方的问题;有线发现与输入继续限定在雷雳网桥。
- 有线 TCP 启用小包即时发送;菜单打开时心跳继续运行,减少输入等待与误判断连。
- 两台 Mac 同步「设备 → 应用于」的输入去向,任意一台选择即可。
- 原生多指路径补全 Quartz 29 / 30 两类事件,保留原始手势交由目标 macOS 和应用判断,未把手势写死成快捷键。
- 调整来源内置触摸板隔离:远端转发时抑制已识别内置触摸板对本机指针的影响,外置及无法识别的鼠标保留本机使用。
- 移除影响全部鼠标的全局指针处理,修复有线转发时实体鼠标漂移的回归。
- 整理应用图标资源关联及安装刷新流程。启动台图标是否刷新仍取决于实际安装后的系统显示,不能据打包完成推定缓存已更新。
实测范围
2026-10-29,用户在 M1 Pro MacBook → Mac mini M4,两台 macOS 15.8.1 的有线直连环境中确认:输入、多指手势、来源触摸板隔离及外置鼠标表现正常。本次结果不代表所有 Mac、macOS 版本、应用和每一种手势都已验证。此前蓝牙实测覆盖打字、指针、点击、拖动和双指滚动。
连接建议:请先读
- 蓝牙延迟较高,触摸板尤其明显,建议仅临时使用或备用;日常使用优先有线。
- 购买明确标注认证的 雷雳 3 / Thunderbolt 3 或雷雳 4 / Thunderbolt 4 双 USB-C 线。USB4 线需由厂商明确说明兼容雷雳。
- “全功能 Type-C”“100 W / 240 W”“支持视频”“10 Gb/s”不能单独保证 Mac 间雷雳网桥可用。
- Mac mini(2024,M4 / M4 Pro)接背面接口:M4 背面为雷雳 4,M4 Pro 背面为雷雳 5。前面两个 USB-C 仅为最高 10 Gb/s 的 USB 3,不提供本模式所需的雷雳连接。
- 「原生多指手势 · 实验功能」仍为来源端单独选项、默认关闭;启用后重新选择目标继续转发。该路径依赖未公开的 macOS 行为。
安装限制
这是 Apple Silicon 测试版,本地签名,不是 Apple Developer ID 签名,也未经 Apple 公证。两台都应使用同一版本并将应用放入「应用程序」。首次打开和替换安装可能需要确认应用专属安全提示及隐私权限,详见安装说明。
English
Changes
- Resolve Thunderbolt Bridge interface discovery when the bridge has an address but is absent from the default network path. Wired discovery and input remain restricted to the bridge.
- Disable TCP delay for small input packets and keep heartbeats running while a menu is open, reducing packet waiting and false disconnects.
- Synchronize Device → Apply to between both Macs; choose the route on either Mac.
- Carry both Quartz native gesture event types 29 and 30. The target macOS/app interprets the original gesture; gestures are not replaced with fixed keyboard shortcuts.
- Isolate the recognized source built-in trackpad during forwarding, while external and unidentified pointer sources stay local.
- Remove global cursor handling that affected every mouse, fixing the external-mouse drift regression during wired forwarding.
- Update app icon resource association and installation refresh handling. Packaging alone does not establish that Launchpad has refreshed its displayed icon.
Physical acceptance scope
On 2026-10-29, the user confirmed wired input, multi-finger gestures, source trackpad isolation and external-mouse behavior on an M1 Pro MacBook → M4 Mac mini, both running macOS 15.8.1. This result is specific to that setup, not a guarantee for every Mac, OS, app or individual gesture. Earlier Bluetooth checks covered typing, pointer movement, clicks, dragging and two-finger scrolling.
Connection advice
- Bluetooth has noticeable latency, especially with the trackpad. Use it temporarily or as a backup; prefer wired for daily work.
- Choose a certified Thunderbolt 3 or Thunderbolt 4 cable with USB-C connectors. Consider USB4 only when the manufacturer explicitly confirms Thunderbolt compatibility.
- “Full-featured USB-C,” “100 W/240 W,” video support or “10 Gb/s” alone does not establish Mac-to-Mac Thunderbolt networking support.
- Use a rear port on Mac mini (2024, M4/M4 Pro): Thunderbolt 4 on M4, Thunderbolt 5 on M4 Pro. Its front USB-C ports provide USB 3 up to 10 Gb/s, not the Thunderbolt connection required here.
- The source-side Native multi-finger gestures · Experimental option remains off by default. Enable it and reselect the destination to resume. It depends on undocumented macOS behavior.
Distribution limitations
This is an Apple Silicon beta, locally signed, without Apple Developer ID signing or Apple notarization. Install the same version in Applications on both Macs. Initial launch and replacement may require app-specific macOS security and privacy approval; see the setup guide.
Apple references / 官方依据
KeyBridge v0.2.0-beta.1 · 键桥
KeyBridge v0.2.0-beta.1 / 键桥测试版
A macOS 14+ menu bar app for sharing a MacBook’s keyboard and built-in trackpad with another Mac. Install the same app on both ends; choose Device → Apply to. Current downloadable packaging targets Apple Silicon.
两台 Mac 安装同一个菜单栏工具,通过「设备 → 应用于」选择输入去向,外置显示器鼠标保留本机使用。
Changes / 本次更新
-
Wired diagnosis: distinguishes unreadable/missing/disabled Thunderbolt Bridge configuration, unknown/down link, waiting for an address, ready network without a discovered peer, and denied network access. It reports observed facts; no-link alone is not proof of an unsupported cable.
-
Experimental native gestures: source-side opt-in, off by default. Transports native gesture events for the destination system/app to interpret, without hardcoded gesture-to-shortcut mappings. Changing the option pauses forwarding.
-
Bilingual interface: English default, Chinese for Chinese system preferences, with manual language selection. Device labels use local network names.
-
Public source and setup documentation: permissions, route selection, recovery and compatibility limits are documented in the repository.
-
**有线诊断细化:**区分网桥配置、链路、网络地址、设备发现和访问权限问题;证据不足时不直接归咎线材。
-
**原生手势实验功能:**默认关闭,在来源 Mac 手动开启;把事件交给目标系统/应用解释,更改选项会暂停转发。
-
**中英文界面与安装文档:**两台同一软件,按网络名选择,鼠标点击即可停止、重连和切换。
Verification and limits / 实测与限制
- User verified over Bluetooth on an M1 Pro MacBook and M4 Mac mini: typing, pointer movement, clicks, dragging and two-finger scrolling. Bluetooth latency is noticeable in this setup; no zero-latency claim is made.
- Physical Thunderbolt cable acceptance testing is pending. Direct cable requires Thunderbolt networking support; the shape of a USB-C connector does not establish compatibility. There is no Wi-Fi fallback.
- Native pinch, rotation and three/four-finger gestures, including four-finger upward swipes, are experimental and not physically verified. They may be recognized differently or rejected by the target OS/app. This path and physical sender identification use undocumented macOS behavior.
- Touch ID, FileVault/pre-login input and Force Touch actions are unsupported. Fn/media keys, Intel and additional Mac/OS combinations have not been established as compatible.
蓝牙基础输入与双指滚动已有用户实测;雷雳线材、捏合、旋转和三/四指操作仍待真实设备确认。系统和应用决定原生手势的具体效果,不能据此承诺全部手势可用。
Build checks / 构建检查
- 29 protocol, encryption, native-event and wired-diagnostic checks passed.
- Release build completed for arm64; app bundle signature verification passed.
- These automated checks do not establish physical gesture or cable compatibility.
Install / 安装
- Download
KeyBridge-0.2.0-beta.1.zip, extract it, and move the app to Applications on both Macs before granting permissions. - Source Mac: enable Input Monitoring + Accessibility. Receiver: enable Accessibility. Allow Bluetooth on both in Bluetooth mode, and local-network access when requested for wired discovery.
- Compare and approve the six-digit code on both Macs, then select source and destination.
- Keep the display-connected mouse available for Stop forwarding and Retry. Emergency local return: Control–Option–Command–Escape.
Trust: this beta is locally signed with a development certificate, without Apple Developer ID signing or Apple notarization. macOS may block first launch. Review the source and exact warning; if you trust the copy and the option is available, use the app-specific Privacy & Security → Open Anyway flow. Do not disable system-wide security or blindly bypass damage/malware warnings. See docs/setup.md for details.
**签名说明:**本地开发签名,无 Apple Developer ID 签名及 Apple 公证。首次启动可能被拦截,按当前应用的系统提示处理,不要关闭整体安全机制。
Privacy and feedback / 隐私与反馈
Inputs stay on a direct encrypted connection; no cloud account or relay is used. Diagnostics omit typed text and raw gestures but can include network/device information. Redact those details before opening an issue. Never upload identity keys, signing material, passwords or deployment credentials.
For a bug report, include this version, both models/macOS versions, connection mode and redacted diagnostics. For gestures, include the exact gesture and target app and whether the test used the physical trackpad.