整理 | 屠敏
出品 | CSDN(ID:CSDNnews)
投稿或寻求报道:zhanghy@csdn.net
平时被用来剪视频、写代码的 MacBook Pro,居然还能用来当个电子秤称重?
最近,一位来自加拿大的创客 Krish Shah 突然萌生一个想法,然后“脑洞大开”捣鼓了一段时间后,在 X 上晒出了一个相当炫酷的项目:他开发了一款应用,可以让 MacBook Pro 电脑中间的 Force Touch 触控板秒变成一个小型电子秤,可以用来称现磨咖啡豆、遥控器、小瓶饮料等小物件的重量。
从他的视频演示来看,称重结果与实际重量的误差控制在 2 克以内。
这听起来或许有点不可思议,但这个项目的确是基于笔记本真实的软件+硬件能力完成的。
一款应用“爆改”MacBook
众所周知,自 2015 年起的 MacBook Pro 机型和 2016 年之后的 MacBook Air,就已经配备了 Force Touch 触控板。它的功能不止于识别点击动作,还能感知按压的力度。
苹果当初是为了实现比如“用力点按查词典”这样的操作手势而设计它的,没想到这项设计成了此次项目中实现称重功能的关键。
具体来看,Krish Shah 开发的这款应用名为 TrackWeight,正是利用 Force Touch 的“压力感应”功能,让你的 MacBook 变身成一个电子秤。它的原理也不复杂——应用会读取触控板感应到的压力数据,并将其转换成重量读数。
Shah 解释说,这一切之所以能实现,是因为MacBook 的触控板并不是传统意义上的触摸面板,而是一块带有触觉反馈的力传感器,通过软件模拟“点击”的感觉。
有人可能会好奇:既然硬件早就具备条件,为什么以前没人做过?
Shah 透露,是因为他发现了苹果系统中的一个私有 API,当你的手指接触触控板时,就可以获取实时的压力数据。
当有网友询问是如何发现这个私有 API 的?Shah 简单回答道:“经过大量深入研究。”
它的使用步骤也非常简单:
打开 TrackWeight 应用
将手指轻触触控板,并保持接触
把你需要称重的物体放在触控板上
在不松开手指的情况下,尽量别给触控板额外施压,等待屏幕上读数出现,由此就得到了物体的重量
在技术栈方面,TrackWeight 采用了 SwiftUI 构建界面、并借助 Combine 框架实现数据流畅传输,正因此,TrackWeight 看起来也更像是一款原生的 macOS 应用。
除此之外,Shah 还提到借助了由另一名程序员 Takuto Nakamura 开发的Open Multi-Touch Support库(https://github.com/Kyome22/OpenMultitouchSupport),进一步提升了应用的精度与可玩性。这个库的强大之处在于它能监听 macOS 上的全局多点触控事件,并获取触控板的详细数据,包括位置、压力、角度、密度等。此外,这个库还提供线程安全的异步/等待支持、跟踪触摸状态并访问全面的传感器信息等。
目前,TrackWeight 应用的代码已在 GitHub 上开源(https://github.com/KrishKrosh/TrackWeight),采用 MIT 许可证,允许自由修改和分发。
在项目发布短短两天内,它就收获了2.6k 个 Star,热度可见一斑。
一些局限性
在 GitHub 项目页上,Krish Shah 特别提醒,并不是所有的 Mac 都能用 TrackWeight,想尝试的用户需要满足以下几个条件:
系统要求:必须运行 macOS 13.0 或更高版本,以确保兼容 Open Multi-Touch Support 库。
硬件限制:只支持配备 Force Touch 触控板的 MacBook,也就是 2015 年及以后的 MacBook Pro,以及 2016 年之后的 MacBook Air。
权限设置:由于需要访问底层硬件,必须关闭 App Sandbox(这是实现低级触控板访问的前提)。
开发环境:需安装 Xcode 16.0 以上版本和 Swift 6.0 及以上版本,主要是为了开发和运行过程中支持必要的依赖。
Shah 也特别说明,TrackWeight 目前还是一个实验性质的项目,主要面向爱好者探索与学习,不推荐在商业或对精度有严格要求的场景中使用。
此外,苹果 Force Touch 的工作机制决定了——在使用 TrackWeight 时,手指必须始终与触控板保持接触(电容感应必须持续),系统才会输出有效的压力数据。
这个操作要求虽然可能稍微影响称重的精准度,因为你不确定你手放在触控板上会带来多少压力,但 Shah 的实测表明:“准确度还是挺不错的。”
为了验证称重效果,他还动手做了系列对比实验:把 MacBook 直接放在一台电子秤上,在手指保持接触的前提下,依次放上已知重量的物品,然后将 TrackWeight 显示的结果与电子秤读数进行比对和校准。
测试结果显示,无论轻物品还是稍微有些重的物品,读数都非常稳定。更让人惊喜的是——通过 MultiTouchSupport 读取到的压力值,已经是以“克”为单位输出的,几乎不需要手动换算。
当然,这个小工具也还有一些使用上的“小坑”:
金属物体可能会被误判为“手指”,因为它们可能触发电容感应。Shah 建议,在称金属物品时可以垫张纸巾,避免系统误识别。
物品要放在触控板范围内,一旦放歪或者超出边缘,称出来的重量可能就不准确了。
测试需谨慎:有人用来量体重、称行李,最终....
TrackWeight 项目一发布,就在 Hacker News 和 Reddit 上引发了不少讨论。
有人脑洞大开:这玩意能不能当体重秤用?以及称一下行李?
结果没等到 Shah 劝解的“不要在你的 MacBook 上称行李”说出口,就有人把自己的 MacBook 压成了两半。
这让 Shah 在社交媒体上紧急留言,自己称过最轻的物品是 1g,最重也只有 3.5 公斤。
再往上就别折腾了,不是 TrackWeight 不行,而是 MacBook 本身可承受不了。可谓玩可以,但别玩脱了。
一旦超过承重极限,可能会发生两种情况:要么像上面一样,硬件出问题,比如触控板玻璃碎了,内部结构受损;要么软件层面出错,读到的压力数值失真,根本没法准确换算成克重。
当然,称称小物品,还是不错的:
不过,对此也有网友觉得称轻物体时不太准,但还是忍不住赞叹:“太酷了!我可能不会拿它当电子秤用,但当个向朋友炫技的演示,还是非常不错的。”
这一经历也勾起不少网友对“挖掘硬件隐藏技能”这类玩法的兴趣。
一位网友还分享了自己的往事:“十多年前,他就用 PowerBook 的硬盘震动感应器 DIY 过一台简易地震仪,叫 SeisMac,甚至还收集到来自世界各地用户的震动数据。虽然谈不上严谨科研,但那种边玩边造的感觉,太有乐趣了。”
还有人指出,其实 macOS 系统里藏着不少“私有框架”,只要你愿意折腾,像 OpenMultiTouchSupport 这种底层库完全可以提取出来,封装成开发工具,“也不是什么高门槛的事”。
TrackWeight 的出现确实激发了不少创意:有人说想在厨房 App 里加个“微秤”功能;有人设想和智能家居联动;甚至还有人希望 Apple 官方干脆把这功能整合进去,做成一个带微调功能的小秤。
想想看,好像也不是不可能。
参考:
https://github.com/KrishKrosh/TrackWeight
https://www.tomshardware.com/laptops/macbooks/macbook-pro-trackpad-can-double-as-a-weighing-scale-and-the-source-code-is-free-creator-hacks-trackpad-to-weigh-items-claims-force-touch-system-pretty-accurate
https://www.reddit.com/r/macapps/comments/1m5tha5/trackweight_turn_your_macbooks_trackpad_into_a/
https://news.ycombinator.com/item?id=44635808
你的AI搭子已上线!ABCoder重构后端开发效率
今晚19:30,揭秘如何用ABCoder+CloudWeGo打造「高稳定、低心智」的后端服务!
直播亮点:
直面大模型幻觉难题——ABCoder的「抗幻觉」黑科技解析
真实工程实战:从Trae到MCP Server,AI如何秒懂10万行级代码?
对比传统IDE工具,ABCoder为何能「预判你的编码需求」?
扫码预约,解锁AI编程的「第二大脑」!
股票配资行情,股票配资资讯第一门户网站,股票配资知识联系方式提示:文章来自网络,不代表本站观点。