[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-6722":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":15,"starSnapshotCount":15,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},6722,"TrackWeight","KrishKrosh\u002FTrackWeight","KrishKrosh","Use your Mac trackpad as a weighing scale","",null,"Swift",9022,391,14,0,1,6,32,7,38.78,"MIT License",false,"main",true,[],"2026-06-12 02:01:29","# TrackWeight\n\n**Turn your MacBook's trackpad into a precise digital weighing scale**\n\n[TrackWeight](\nhttps:\u002F\u002Fx.com\u002FKrishRShah\u002Fstatus\u002F1947186835811193330) is a macOS application that transforms your MacBook's trackpad into an accurate weighing scale by leveraging the Force Touch pressure sensors built into modern MacBook trackpads.\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F7eaf9e0b-3dec-4829-b868-f54a8fd53a84\n\nTo use it yourself:\n\n1. Open the scale\n2. Rest your finger on the trackpad\n3. While maintaining finger contact, put your object on the trackpad\n4. Try to put as little pressure on the trackpad while still maintaining contact. This is the weight of your object\n\n## How It Works\n\nTrackWeight utilizes a custom fork of the [Open Multi-Touch Support library](https:\u002F\u002Fgithub.com\u002Fkrishkrosh\u002FOpenMultitouchSupport) by [Takuto Nakamura](https:\u002F\u002Fgithub.com\u002FKyome22) to gain private access to all mouse and trackpad events on macOS. This library provides detailed touch data including pressure readings that are normally inaccessible to standard applications.\n\nThe key insight is that trackpad pressure events are only generated when there's capacitance detected on the trackpad surface - meaning your finger (or another conductive object) must be in contact with the trackpad. When this condition is met, the trackpad's Force Touch sensors provide precise pressure readings that can be calibrated and converted into weight measurements.\n\n## Requirements\n\n- **macOS 13.0+** (Ventura or later)\n- **MacBook with Force Touch trackpad** (2015 or newer MacBook Pro, 2016 or newer MacBook)\n- **App Sandbox disabled** (required for low-level trackpad access)\n- **Xcode 16.0+** and **Swift 6.0+** (for development)\n\n## Installation\n\n### Option 1: Download DMG (Recommended)\n\n1. Go to the [Releases](https:\u002F\u002Fgithub.com\u002Fkrishkrosh\u002FTrackWeight\u002Freleases) page\n2. Download the latest TrackWeight DMG file\n3. Open the DMG and drag TrackWeight.app to your Applications folder\n4. Run the application (you may need to allow it in System Preferences > Security & Privacy for unsigned builds)\n\n### Option 2: Homebrew\n```bash\nbrew install --cask krishkrosh\u002Fapps\u002Ftrackweight --force\n```\n \n### Option 3: Build from Source\n\n1. Clone this repository\n2. Open `TrackWeight.xcodeproj` in Xcode\n3. Disable App Sandbox in the project settings (required for trackpad access)\n4. Build and run the application\n\nFor more information about setting up the build pipeline, see [.github\u002Fworkflows\u002FREADME.md](.github\u002Fworkflows\u002FREADME.md).\n\n### Calibration Process\n\nThe weight calculations have been validated by:\n1. Placing the MacBook trackpad directly on top of a conventional digital scale\n2. Applying various known weights while maintaining finger contact with the trackpad\n3. Comparing and calibrating the pressure readings against the reference scale measurements\n4. Ensuring consistent accuracy across different weight ranges\n\nIt turns out that the data we get from MultitouchSupport is already in grams!\n\n## Limitations\n\n- **Finger contact required**: The trackpad only provides pressure readings when it detects capacitance (finger touch), so you cannot weigh objects directly without maintaining contact\n- **Surface contact**: Objects being weighed must be placed in a way that doesn't interfere with the required finger contact\n- **Metal objects**: Metal objects may be detected as a finger touch, so you may need to place a piece of paper or a cloth between the object and the trackpad to get an accurate reading\n\n## Technical Details\n\nThe application is built using:\n- **SwiftUI** for the user interface\n- **Combine** for reactive data flow\n- **Open Multi-Touch Support library** for low-level trackpad access\n\n### Open Multi-Touch Support Library\n\nThis project relies heavily on the excellent work by **Takuto Nakamura** ([@Kyome22](https:\u002F\u002Fgithub.com\u002FKyome22)) and the [Open Multi-Touch Support library](https:\u002F\u002Fgithub.com\u002Fkrishkrosh\u002FOpenMultitouchSupport). The library provides:\n\n- Access to global multitouch events on macOS trackpads\n- Detailed touch data including position, pressure, angle, and density\n- Thread-safe async\u002Fawait support for touch event streams\n- Touch state tracking and comprehensive sensor data\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Disclaimer\n\nThis application is for experimental and educational purposes. While efforts have been made to ensure accuracy, TrackWeight should not be used for critical measurements or commercial applications where precision is essential. Always verify measurements with a calibrated scale for important use cases.\n","TrackWeight 是一个 macOS 应用程序，它将 MacBook 的触控板转换为一个精确的数字秤。该应用通过利用现代 MacBook 触控板内置的 Force Touch 压力传感器来实现这一功能。其核心技术特点包括使用自定义版本的 Open Multi-Touch Support 库来获取详细的触摸数据和压力读数，并通过校准这些读数将其转换为重量测量值。TrackWeight 适用于需要快速、便捷地称量小物件的场景，如实验室或个人日常使用。需要注意的是，运行此应用需要 macOS 13.0 及以上版本、支持 Force Touch 的 MacBook 以及禁用 App Sandbox。",2,"2026-06-11 03:08:32","top_language"]