Rust vs RSI:我如何计算出自己用手指每天举起 500kg
发布: (2026年1月14日 GMT+8 11:30)
3 min read
原文: Dev.to
Source: Dev.to
可视化编码的无形劳动
我使用 Rust 和 Tauri v2 构建了一个桌面小部件,用来展示我们在编码时用手指“举起”了多少“重量”。
计算方式
- 标准机械开关的触发力:80 g 每次按键
- 估算的每日按键次数 → 约 500 kg 的力每天(相当于 1.7 台三角钢琴)
这意味着我们每周实际上只用手指就能举起一辆车——难怪手腕会开始疼。
技术决策
我曾考虑使用 rdev crate 来实现低层输入钩子,但最终选择了 轮询策略(每 50 ms 检查一次键位状态)。
为什么选择轮询?
- 稳定性 – 钩子如果表现异常会导致输入链崩溃;轮询则在隔离环境中运行。
- 权限噩梦 – macOS 对钩子需要侵入性的 “输入监控” 权限。轮询可以规避大部分摩擦。
- 隐私 – 小部件只需要知道 是否 有键被按下,而不是 哪个 键,以计算“重量”。
这种取舍是以牺牲纳秒级精度为代价,换取坚如磐石的稳定性。
实现亮点
- “健康条”会随着你的敲击而消耗,把编码能量当作电子游戏中的 HP。
- 小部件本地运行;数据不上传至云端。
亲自尝试
你可以在此下载并运行该工具:
它是免费且完全在你的机器上运行的。
讨论
你是否曾因编码而出现 RSI(重复性劳损)?欢迎分享你的想法和经历。