libinput/doc/scrolling.dox

51 lines
1.9 KiB
Text
Raw Normal View History

/**
@page scrolling Scrolling
libinput supports three different types of scrolling behavior.
@section twofinger_scrolling Two-finger scrolling
The default on two-finger capable touchpads (almost all modern touchpads are
capable of detecting two fingers). Scrolling is triggered by two fingers
being placed on the surface of the touchpad, then moving those fingers
vertically or horizontally.
@image html twofinger-scrolling.svg "Vertical and horizontal two-finger scrolling"
For scrolling to trigger, a built-in distance threshold has to be met but once
engaged any movement will scroll. In other words, to start scrolling a
sufficiently large movement is required, once scrolling tiny amounts of
movements will translate into tiny scroll movements.
Scrolling in both directions at once is possible by meeting the required
distance thresholds to enable each direction separately.
@section edge_scrolling Edge scrolling
On some touchpads, edge scrolling is available, triggered by moving a single
finger along the right edge (vertical scroll) or bottom edge (horizontal
scroll).
@image html edge-scrolling.svg "Vertical and horizontal edge scrolling"
Due to the layout of the edges, diagonal scrolling is not possible.
Edge scrolling conflicts with @ref clickpad_softbuttons and is
not usually available on clickpads.
@section button_scrolling On-Button scrolling
Scrolling when a button is held down is available on selected devices. The
motion of a device is converted into scrolling motion.
For example, Lenovo devices provide a
<a href="http://en.wikipedia.org/wiki/Pointing_stick">pointing stick</a> that emulates
scroll events when the trackstick's middle mouse button is held down.
@image html button-scrolling.svg "Button scrolling"
Note that libinput's @ref t440_support enables the use of the middle
button for button scrolling (even when the touchpad is disabled).
*/