Skip to content

KeyBridge / 键桥 1.1

Choose a tag to compare

@winglight9 winglight9 released this 29 Oct 13:39

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 synthetic diagnostic 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.