Usually dragging requires the button to be held down while moving the device.
Drag lock is similar to XKB's sticky keys, the button is clicked once and remains logically down until the second click.
GNOME request for that feature: https://bugzilla.gnome.org/show_bug.cgi?id=637618
evdev's implementation (which dates back to the mouse driver, which dates
back to the mists of time) has two functionalities:
1) Button X locks button Y (usually X == Y)
2) Button B locks the next button pressed
Googling shows a few public instances of X != Y, and a few instances of 2).
OS X doesn't seem to have that feature. Windows calls it ClickLock,
and has an extra setting to regulate how long the button must be held
before lock engages.
Should probably note that the few people I've asked all use it for button-based scroll lock. I have not yet talked to anyone using it for it's original intended purpose (a11y).
First sighting of a user using it for actual drag lock:
Moving this to the xf86-input-libinput driver. Drag lock is something that should be implemented in the compositor (or in the X case the X input driver), not in libinput where it is hard to discover and cannot integrate with the UI.
Implementing this in xf86-input-libinput still doesn't integrate well, but we don't really have a choice here in X. In the Wayland stack the compositor can handle drag lock properly and thus integrate it properly too.
Author: Peter Hutterer <email@example.com>
Date: Fri Aug 7 15:19:12 2015 +1000
Add drag lock support