After drag or scroll starts, direction lock snaps later input to the main axis
Aliases: directional lock · axis snap · scroll projection
What it is
Once a scroll or drag has a main axis, direction lock projects later travel onto that axis: a vertical list drops X, a horizontal gallery drops Y. The finger may still move diagonally; content follows only the main axis. The lock happens after the gesture has started. It is in-layer axis snapping, not choosing a layer in a nest.
Why it happens
Human paths are not geometric lines. Without projection, a vertical scroll wobbles sideways and a carousel rubs up and down. The lock splits two-dimensional velocity into a main-axis component and an orthogonal one, then zeros the orthogonal after lock. directionalLockEnabled on UIScrollView and the “axis lock” on many pagers are this projection. It changes how the already-winning recognizer consumes delta, not who won the onset. An unlocked canvas (a map) keeps two dimensions because no main axis exists.
Studying it
Have people drag a scrollable list at instructed angles. Compare orthogonal content offset, time, and “it drifted” ratings with lock on versus off. Factors include lock and list axis. Integrate orthogonal pixels; do not only score whether a page turned. Eye tracking is optional—the content path is enough.
Where it stops holding
Maps, drawing, and game sticks need two dimensions; a lock shears diagonal intent. Choosing a layer for a nested horizontal rail is a different classifier, even though it also looks at angle. The lock should clear on lift-off, or the next gesture inherits the wrong axis. Direction lock is not a velocity threshold: a slow diagonal is snapped too.
Applying it
- Turn direction lock on for single-axis lists; leave it off for free canvases.
- After lock, drop orthogonal travel; do not accumulate it into a second scroll.
- Drag a vertical list at about 20°: content should be almost purely vertical; visible sideways motion means the lock did not take.
Related
- Same group: C3.28.2 Direction lock removes diagonal drift from hand jitter · C3.28.3 Locking too early straightens intended diagonals · C3.28.4 The lock window is the angle of the first pixels of travel
- Adjacent: C3.23 Nested scroll touch capture · C3.29 Gesture velocity thresholds
- Search:
directional lock·axis lock·scroll projection