C2.19.3contact split jumpdesignresearch

Contact splitting can produce a sudden coordinate jump

Aliases: contact split · coordinate jump · split discontinuity

What it is

During a merge the single id sits between the two fingers. When firmware tears the blob in two, the old id may be re-anchored onto one finger while a second id appears. The app sees the old trail translate by half a finger span in one frame, and a new trail materialize some distance away. That is a split jump. The fingers did not teleport; identifiers and centroids were reassigned at the segmentation instant.

Why it happens

When one connected component becomes two, the tracker must associate data: which new blob inherits the old id. A common rule is “nearest to last frame’s coordinate inherits,” so the old id leaps from the midpoint onto a fingertip. Velocity from consecutive-frame differencing reads that leap as a metres-per-second pulse, which kicks fling, inertia, and stroke width. The new id’s begin is not at a screen edge but beside the other finger, so code that hit-tests begin position lights a control the user never pressed. If association swaps heirs across frames, ids trade places and the two trails cross in an X.

Studying it

Open two probes slowly from a merged gap. Align high-speed video with per-frame id coordinates. Independent variables are opening speed, finger orientation relative to the screen, and old-id inheritance policy if logs reveal it. Dependent measures are old-id displacement on the split frame, where the new id appears, peak velocity pulse, and whether ids swap. Feed the same jump into a drawing app and a scrolling app to see whether ink spikes and whether a list inherits a ghost fling. Do not baseline on already-separated fingers—those have no split frame.

Where it stops holding

Fingers that stay far apart and then move have no merge phase and therefore no split jump. A stylus emerging from palm rejection is a different id assignment with a different jump shape. Some firmware cancels the old id and opens two new ones on split, so the app receives cancel plus two begins rather than a kinked trail; treating that as ordinary movement is worse. Predictive rendering that extrapolates from the split-frame velocity enlarges the spike into a streak of wrong ink; drawing the raw point for that frame only is safer.

Applying it

  • Zero or discard speed and acceleration on the frame where id count goes from 1 to 2; do not feed split displacement into inertia or stroke width.
  • If a new id’s begin sits next to a newly split old id, do not hit-test it as a button for a few milliseconds until it is clearly tracking a finger.
  • Break a drawing stroke at the split frame (lift then land) so one path cannot sprout a spike; tag split frames in the log for replay.

Related

  • Same group: C2.19.1 Nearby fingers can be merged into a single reported contact · C2.19.2 Merged contacts disable pinch gestures at onset · C2.19.4 Split thresholds depend on sensor precision and contact area
  • Nearby: C2.16 Touch event models and cancel events · C3.06 Fling and inertia
  • Search terms: contact split · identity swap · velocity spike

Cards in the same group

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/handbook/C2.19.3