• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1.. _trackpoints:
2
3==============================================================================
4Trackpoints and Pointing Sticks
5==============================================================================
6
7This page provides an overview of trackpoint handling in libinput, also
8refered to as Pointing Stick or Trackstick. The device itself is usually a
9round plastic stick between the G, H and B keys with a set of buttons below
10the space bar.
11
12.. figure:: button-scrolling.svg
13    :align: center
14
15    A trackpoint
16
17libinput always treats the buttons below the space bar as the buttons that
18belong to the trackpoint even on the few laptops where the buttons are not
19physically wired to the trackpoint device anyway, see :ref:`t440_support`.
20
21.. _trackpoint_buttonscroll:
22
23------------------------------------------------------------------------------
24Button scrolling on trackpoints
25------------------------------------------------------------------------------
26
27Trackpoint devices have :ref:`button_scrolling` enabled by default. This may
28interfer with middle-button dragging, if middle-button dragging is required
29by a user then button scrolling must be disabled.
30
31.. _trackpoint_range:
32
33------------------------------------------------------------------------------
34Motion range on trackpoints
35------------------------------------------------------------------------------
36
37It is difficult to associate motion on a trackpoint with a physical
38reference. Unlike mice or touchpads where the motion can be
39measured in mm, the trackpoint only responds to pressure. Without special
40equipment it is impossible to measure identical pressure values across
41multiple laptops.
42
43The values provided by a trackpoint are motion deltas, usually corresponding
44to the pressure applied to the trackstick. For example, pressure towards the
45screen on a laptop provides negative y deltas. The reporting rate increases
46as the pressure increases and once events are reported at the maximum rate,
47the delta values increase. The figure below shows a rough illustration of
48this concept. As the pressure
49decreases, the delta decrease first, then the reporting rate until the
50trackpoint is in a neutral state and no events are reported. Trackpoint data
51is hard to generalize, see
52`Observations on trackpoint input data
53<a href="https://who-t.blogspot.com/2018/06/observations-on-trackpoint-input-data.html">`_
54for more details.
55
56.. figure:: trackpoint-delta-illustration.svg
57    :align: center
58
59    Illustration of the relationship between reporting rate and delta values on a trackpoint
60
61The delta range itself can vary greatly between laptops, some devices send a
62maximum delta value of 30, others can go beyond 100. However, the useful
63delta range is a fraction of the maximum range. It is uncomfortable to exert
64sufficient pressure to even get close to the maximum ranges.
65
66libinput provides a :ref:`Magic Trackpoint Multiplier
67<trackpoint_multiplier>` to normalize the trackpoint input data.
68
69