C2.06.3System-level touch offset compensation设计研究

偏移补偿属于系统层,应用层不应重复补偿

别名: 系统层补偿 · 触摸偏移 · 双重补偿

概念解释

基础触点的校准和偏移补偿通常属于系统层:操作系统、驱动和硬件了解设备传感器、方向与用户设置。应用若在收到坐标后再假设同一偏移并重复补偿,可能造成双重校正,让已被系统校正的触点偏到另一侧。

机制

传感器固件与系统输入栈可进行校准、滤波、方向转换和无障碍设置适配,再向应用提供逻辑坐标——也就是说,应用收到的坐标很可能已经被系统按照它自己掌握的设备信息修正过一次。如果开发者在自己的测试机上凭肉眼观察"点击总是偏高",于是在应用代码里手写一个"向下偏移几像素"的补丁,这个补丁的正确性其实隐含地绑定在"当前这台测试机、当前这个系统版本、当前没有开启任何辅助功能"这一组具体条件上;一旦系统在后续版本里调整了自己的校正算法、用户换了一台传感器特性不同的设备、或者用户自己开启了系统级的触摸辅助功能,系统层已经做了不一样的修正,应用层这个写死的补丁就会在原有基础上再叠加一次方向未必正确的偏移,命中效果反而比完全不做任何补偿更差——而且这种劣化通常是悄无声息的,不会有任何报错提示开发者"补偿已经过时"。

怎么研究

检查系统默认、不同设备、方向、缩放和辅助设置下应用接收坐标的命中表现。若发现偏差,先区分布局太小、系统设置、硬件故障和真正的应用映射问题;不要用单一测试机经验直接加入坐标偏移。一个专门的检验时机是系统版本升级前后或辅助功能开关切换前后:分别测量应用当前的命中准确率,如果应用里存在私自叠加的坐标补偿,这种前后对比往往能暴露出补偿失配的迹象。

边界

应用可做语义层容错,如扩大命中区、候选吸附、放大确认和撤销;这些不等同于篡改基础触点。某些专业设备 API 也可能明确要求应用处理原始数据,但必须遵循其契约并隔离到专用模式。

怎么落地

  • 使用平台提供的逻辑触点与原生命中测试,不叠加猜测性全局偏移。
  • 以布局容错和可恢复交互处理触摸误差。
  • 验证办法:在系统版本升级、更换设备型号或切换系统级触摸辅助功能前后,分别测量应用的命中准确率,若准确率出现方向性变化,优先检查代码里是否存在写死的坐标偏移补丁,而不是急于再加一层新的补偿去掩盖它。

延伸

  • 同组C2.06.1 用户瞄准点系统性偏向触点上方 · C2.06.2 偏差随手指角度、屏幕位置变化
  • 相邻C2.01 手指接触面积与触点质心 · C2.04 胖手指问题
  • 站内检索touch calibration · system input · offset compensation

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/C2.06.3