文章摘要
TrackWeight是一款macOS应用程序,通过利用现代MacBook触控板中的Force Touch压力传感器,将触控板转变为精确的数字称重秤。用户只需将手指放在触控板上,再将物体放在触控板上,即可测量物体重量。该应用通过Open Multi-Touch Support库获取触控板的压力数据,并经过校准将压力读数转换为重量。校准过程通过与传统电子秤对比验证了其准确性。
文章总结
TrackWeight:将MacBook触控板变为精确电子秤
TrackWeight是一款macOS应用程序,通过利用现代MacBook触控板内置的Force Touch压力传感器,将你的MacBook触控板变成一个精确的电子秤。
使用方法: 1. 打开应用程序。 2. 将手指放在触控板上。 3. 在保持手指接触的同时,将待称物体放在触控板上。 4. 尽量在保持接触的情况下减少对触控板的压力,此时显示的数值即为物体的重量。
工作原理: TrackWeight利用Takuto Nakamura开发的Open Multi-Touch Support库,获取macOS上所有鼠标和触控板事件的私有访问权限。该库提供了包括压力读数在内的详细触摸数据,这些数据通常无法被标准应用程序访问。关键在于,触控板只有在检测到表面有电容时才会生成压力事件,这意味着你的手指(或其他导电物体)必须与触控板接触。当满足这一条件时,触控板的Force Touch传感器会提供精确的压力读数,这些读数可以校准并转换为重量测量。
校准过程: TrackWeight的称重计算通过以下方式验证: - 将MacBook触控板直接放在传统电子秤上。 - 在保持手指接触的同时,施加各种已知重量。 - 将压力读数与参考秤的测量结果进行比较和校准。 - 确保在不同重量范围内的一致性。
系统要求: - macOS 13.0及以上版本(兼容Open Multi-Touch Support库)。 - 配备Force Touch触控板的MacBook(2015年或更新的MacBook Pro,2016年或更新的MacBook)。 - 禁用App Sandbox(需要低级别触控板访问权限)。 - Xcode 16.0及以上版本,Swift 6.0及以上版本(用于开发)。
安装步骤: 1. 克隆此仓库。 2. 在Xcode中打开TrackWeight.xcodeproj。 3. 在项目设置中禁用App Sandbox(需要触控板访问权限)。 4. 构建并运行应用程序。
局限性: - 手指接触要求:触控板只有在检测到电容(手指触摸)时才会提供压力读数,因此无法在不保持接触的情况下直接称重物体。 - 表面接触:待称物体必须放置在不妨碍手指接触的位置。 - 金属物体:金属物体可能被检测为手指触摸,因此可能需要在物体和触控板之间放置一张纸或布料以获得准确读数。
技术细节: 应用程序使用以下技术构建: - SwiftUI:用于用户界面。 - Combine:用于响应式数据流。 - Open Multi-Touch Support库:用于低级别触控板访问。
免责声明: 该应用程序仅供实验和教育用途。虽然已努力确保准确性,但TrackWeight不应用于关键测量或需要高精度的商业应用。对于重要用途,请始终使用校准过的电子秤验证测量结果。
评论总结
评论主要围绕使用笔记本电脑触控板作为称重工具的观点展开,观点多样且平衡。以下是总结:
支持观点: 1. 创意与实用性:部分评论认为这一想法非常巧妙,可能在特定情况下有用。 - "This is clever! and potentially useful too."(这很聪明!而且可能也很有用。) - "Kind of a cool toy. It’s definitely the last things I would use to weigh items but maybe if my digital scale was broken."(这是个很酷的小玩意儿。虽然我不会用它来称重,但如果我的电子秤坏了,或许可以应急。)
- 技术可行性:有评论提到类似技术曾在iPhone上实现,表明这一想法并非完全不可行。
- "Ah I remember being able to do this with the iPhone 6s."(我记得iPhone 6s上也能做到这一点。)
- "Apparantely on safari there's touch strength so this should be possible to make for the web too, cool."(显然Safari有触摸力度检测功能,所以这在网页上应该也能实现,很酷。)
反对观点: 1. 操作复杂与不实用:许多评论指出这一方法操作复杂,且在实际使用中可能带来不便。 - "While imaginative, this is a recipe for disaster. Wait for people dropping liquid everywhere."(虽然很有想象力,但这简直是灾难的配方。等着看人们把液体洒得到处都是吧。) - "That is, the pressure sensors only work if it detects capacitance, so you need to be touching the track pad (but not too much!!) while weighing something."(也就是说,压力传感器只有在检测到电容时才能工作,所以你需要在称重时触摸触控板,但又不能太用力。)
- 精确度与设备差异:有评论质疑这一方法的精确度,并指出不同设备之间可能存在差异。
- "Have you done any testing to determine how precise and accurate this is? I suspect their must be a lot of variance between laptops, since this isn’t an intended use case."(你有没有做过测试来确定它的精确度和准确性?我怀疑不同笔记本电脑之间会有很大差异,因为这不是设计用途。)
中立观点: 1. 趣味性与替代性:部分评论认为这一方法虽然有趣,但不如直接购买电子秤方便。 - "Very cool, but I'd still probably just buy a cheap digital scale."(很酷,但我可能还是会买个便宜的电子秤。) - "It’s something I could use in a pinch to weight out coffee grind in the AM."(在紧急情况下,我可以用它来称咖啡粉。)
- 苹果生态系统的限制:有评论提到苹果生态系统的限制,认为这一方法体现了苹果产品的一些“怪癖”。
- "Such a quintessential appleism. So many of these little quirks we have to accept due to some arbitrary plant placement in the walled garden."(这真是典型的苹果风格。由于围墙花园中的一些随意设计,我们不得不接受这些小怪癖。)
总结:评论对这一创意的评价褒贬不一,支持者认为其巧妙且有趣,反对者则指出其操作复杂、不实用且精确度存疑。