把 MacBook 触控板变秤?这款开源工具TrackWeight 挖掘 Force Touch 的隐藏技能

MacBook 的触控板一向以精准、顺滑著称。但你有没有想过——它其实还能「称重」?

近日,加拿大开发者 Krish Shah 在 GitHub 上发布了一款名为 TrackWeight 的开源 macOS 应用,巧妙利用 MacBook 内建的 Force Touch 压力传感器,将触控板变成一台简易数字秤,最多可测量 3.5kg 以内的物体,误差普遍在 1–2g 之间,精度令人惊讶。

这不是魔术,而是对硬件能力的一次创造性挖掘。

把 MacBook 触控板变秤?这款开源工具TrackWeight 挖掘 Force Touch 的隐藏技能插图

如何操作?像“指尖称重”一样简单

使用 TrackWeight 的步骤非常特别:

  1. 打开应用
  2. 用手指轻触触控板(保持接触)
  3. 将待测物体小心放置在触控板上
  4. 屏幕实时显示当前压力换算出的重量值

关键在于:必须有手指接触触控板,系统才能触发压力读数。你可以理解为——你的手指是“开关”,而物体的重量则是“信号”。

把 MacBook 触控板变秤?这款开源工具TrackWeight 挖掘 Force Touch 的隐藏技能插图1

为了减少干扰,建议尽量减轻手指施加的压力,仅维持导电接触即可。

✅ 实测显示,它能准确称量钥匙、硬币、小包装食品,甚至一杯水。

技术原理:挖掘 Force Touch 的隐藏能力

TrackWeight 的核心,是读取 MacBook 触控板中的 Force Touch 传感器数据——这项技术自 2015 年起被用于 MacBook Pro、2016 年起用于 MacBook,能感知按压力度而非单纯的点击。

但 macOS 原生并不开放这些底层数据给普通应用。为此,Shah 使用了由开发者 中村卓人(@Kyome22) 开发的 Open Multi-Touch Support 开源库,该库可以:

  • 捕获全局触控板事件
  • 获取包括压力、位置、角度、接触密度在内的多维数据
  • 支持异步、线程安全的事件流处理

通过校准压力与重量之间的关系,TrackWeight 能将传感器读数转化为近似的质量单位(克或盎司),实现“称重”功能。

支持设备与系统要求

并非所有 Mac 都能使用 TrackWeight,需满足以下条件:

✅ 必须满足:

  • macOS 13.0 或更高版本
  • 配备 Force Touch 触控板 的机型:
    • MacBook Pro(2015 年及以后)
    • MacBook(2016 年及以后)

⚠️ 其他限制:

  • 必须 禁用 App 沙盒(App Sandbox),以获得低层级触控板访问权限
  • 开发环境需 Xcode 16.0+ 与 Swift 6.0+(仅影响开发者)

使用注意事项与局限

尽管技术实现令人赞叹,但 TrackWeight 仍有一些现实限制:

🚫 必须手指接触
由于触控板依赖电容检测来激活传感器,无法完全脱离人体接触独立运行。

🚫 物体摆放位置需避开手指区域
称重时,物体不能压在手指下方,否则会干扰读数。

🚫 金属物体可能误触发
金属材质具有导电性,可能被误判为“额外手指”,影响准确性。建议在金属物品与触控板之间垫一张纸或布料。

🚫 非医疗/工业级精度
虽然误差小(1–2g),但仍属估算值,不适合用于高精度称量场景。

技术栈一览

TrackWeight 本身也是一款现代 macOS 应用开发的范例,采用的技术包括:

  • SwiftUI:构建简洁直观的用户界面
  • Combine:实现响应式数据流,实时更新重量显示
  • Open Multi-Touch Support 库:获取底层触控事件

项目已完全开源,开发者可在 GitHub 上查看代码、参与贡献。

这只是一个玩笑吗?不,它是创造力的体现

TrackWeight 虽然不具备实际的日常称重价值,但它展示了:

  • 对硬件潜能的深入理解
  • 开源生态的力量(如 Open Multi-Touch Support)
  • 用极简方式实现“不可能功能”的极客精神

它更像是一个技术彩蛋,提醒我们:设备的能力,往往比我们以为的更多。

评论