MacBook 的触控板一向以精准、顺滑著称。但你有没有想过——它其实还能「称重」?
近日,加拿大开发者 Krish Shah 在 GitHub 上发布了一款名为 TrackWeight 的开源 macOS 应用,巧妙利用 MacBook 内建的 Force Touch 压力传感器,将触控板变成一台简易数字秤,最多可测量 3.5kg 以内的物体,误差普遍在 1–2g 之间,精度令人惊讶。
这不是魔术,而是对硬件能力的一次创造性挖掘。

如何操作?像“指尖称重”一样简单
使用 TrackWeight 的步骤非常特别:
- 打开应用
- 用手指轻触触控板(保持接触)
- 将待测物体小心放置在触控板上
- 屏幕实时显示当前压力换算出的重量值
关键在于:必须有手指接触触控板,系统才能触发压力读数。你可以理解为——你的手指是“开关”,而物体的重量则是“信号”。

为了减少干扰,建议尽量减轻手指施加的压力,仅维持导电接触即可。
✅ 实测显示,它能准确称量钥匙、硬币、小包装食品,甚至一杯水。
技术原理:挖掘 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)
- 用极简方式实现“不可能功能”的极客精神
它更像是一个技术彩蛋,提醒我们:设备的能力,往往比我们以为的更多。
评论