configuration.rst 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. .. _config_options:
  2. ==============================================================================
  3. Configuration options
  4. ==============================================================================
  5. Below is a list of configurable options exposed to the users.
  6. .. contents::
  7. :depth: 1
  8. :local:
  9. .. hint:: Not all configuration options are available on all devices. Use
  10. :ref:`libinput list-devices <libinput-list-devices>` to show the
  11. configuration options for local devices.
  12. libinput's configuration interface is available to the caller only, not
  13. directly to the user. Thus it is the responsibility of the caller to expose
  14. the various options and how these options are exposed. For example, the
  15. `xf86-input-libinput driver <https://gitlab.freedesktop.org/xorg/driver/xf86-input-libinput/>`_
  16. exposes the options through X Input device properties and `xorg.conf.d
  17. <https://linux.die.net/man/5/xorg.conf.d>`_ options. See the `libinput(4)
  18. <https://www.mankier.com/4/libinput>`_ man page for more details.
  19. ------------------------------------------------------------------------------
  20. Tap-to-click
  21. ------------------------------------------------------------------------------
  22. See :ref:`tapping` for details on how this feature works. Configuration
  23. options exposed by libinput are:
  24. - how many tapping fingers are supported by this device
  25. - a toggle to enable/disable tapping
  26. - a toggle to enable/disable tap-and-drag, see :ref:`tapndrag`.
  27. - a toggle to enable/disable tap-and-drag drag lock, see :ref:`tapndrag`
  28. - The default order is 1, 2, 3 finger tap mapping to left, right, middle
  29. click, respectively. This order can be changed to left, middle, right click,
  30. respectively.
  31. Tapping is usually available on touchpads and the touchpad part of external
  32. graphics tablets. Tapping is usually **not** available on touch screens,
  33. for those devices it is expected to be implemented by the toolkit.
  34. ------------------------------------------------------------------------------
  35. Three-finger drag
  36. ------------------------------------------------------------------------------
  37. Three-finger drag emulates the mouse button down while three fingers
  38. are down on a touchpad without the need to press a physical button or use
  39. :ref:`tapndrag`. See :ref:`drag_3fg` for details on how this feature works.
  40. Three-finger drag is usually available on touchpads and the touchpad part of
  41. external graphics tablets. Three-finger drag is usually **not** available on
  42. touch screens, for those devices it is expected to be implemented by the
  43. toolkit.
  44. ------------------------------------------------------------------------------
  45. Send Events Mode
  46. ------------------------------------------------------------------------------
  47. The Send Events Mode is libinput's terminology for disabling a device. It is
  48. more precise in that the device only stops sending events but may not get
  49. fully disabled. For example, disabling the touchpad on a
  50. :ref:`Lenovo T440 and similar <t440_support>` leaves the top software
  51. buttons enabled for the trackpoint. Available options are
  52. **enabled** (send events normally), **disabled** ( do not send events),
  53. **disabled on external mouse** (disable the device while an external mouse
  54. is plugged in).
  55. .. _config_pointer_acceleration:
  56. ------------------------------------------------------------------------------
  57. Pointer acceleration
  58. ------------------------------------------------------------------------------
  59. Pointer acceleration is a function to convert input deltas to output deltas,
  60. usually based on the movement speed of the device, see
  61. :ref:`pointer-acceleration` for details.
  62. Pointer acceleration is normalized into a [-1, 1] range, where -1 is
  63. "slowest" and 1 is "fastest". Most devices use a default speed of 0.
  64. The pointer acceleration profile defines **how** the input deltas are
  65. converted, see :ref:`ptraccel-profiles`. Most devices have their default
  66. profile (usually called "adaptive") and a "flat" profile. The flat profile
  67. does not apply any acceleration.
  68. ------------------------------------------------------------------------------
  69. Scrolling
  70. ------------------------------------------------------------------------------
  71. "Natural scrolling" is the terminology for moving the content in the
  72. direction of scrolling, i.e. moving the wheel or fingers down moves the page
  73. down. Traditional scrolling moves the content in the opposite direction.
  74. Natural scrolling can be turned on or off, it is usually off by default.
  75. The scroll method defines how to trigger scroll events. On touchpads
  76. libinput provides two-finger scrolling and edge scrolling. Two-finger
  77. scrolling converts a movement with two fingers to a series of scroll events.
  78. Edge scrolling converts a movement with one finger along the right or bottom
  79. edge of the touchpad into a series of scroll events.
  80. On other libinput provides button-scrolling - movement of the device while
  81. the designated scroll button is down is converted to scroll events. The
  82. button used for scrolling is configurable.
  83. The scroll method can be chosen or disabled altogether but most devices only
  84. support a subset of available scroll methods. libinput's default is
  85. two-finger scrolling for multi-touch touchpads, edge scrolling for
  86. single-touch touchpads. On tracksticks, button scrolling is enabled by
  87. default.
  88. See :ref:`scrolling` for more details on how the scroll methods work.
  89. ------------------------------------------------------------------------------
  90. Left-handed Mode
  91. ------------------------------------------------------------------------------
  92. Left-handed mode switches the device's functionality to be more
  93. accommodating for left-handed users. On mice this usually means swapping the
  94. left and right mouse button, on tablets this allows the tablet to be used
  95. upside-down to present the pad buttons for the non-dominant right hand. Not
  96. all devices have left-handed mode.
  97. Left-handed mode can be enabled or disabled and is disabled by default.
  98. ------------------------------------------------------------------------------
  99. Middle Button Emulation
  100. ------------------------------------------------------------------------------
  101. Middle button emulation converts a simultaneous left and right button click
  102. into a middle button. The emulation can be enabled or disabled. Middle
  103. button emulation is usually enabled when the device does not provide a
  104. middle button.
  105. ------------------------------------------------------------------------------
  106. Click method
  107. ------------------------------------------------------------------------------
  108. The click method defines how button events are triggered on a :ref:`clickpad
  109. <clickpad_softbuttons>`. When set to button areas, the bottom area of the
  110. touchpad is divided into a left, middle and right button area. When set to
  111. clickfinger, the number of fingers on the touchpad decide the button type.
  112. Clicking with 1, 2, 3 fingers triggers a left, right, or middle click,
  113. respectively. The default click method is software button areas. Click
  114. methods are usually only available on :ref:`clickpads
  115. <clickpad_softbuttons>`.
  116. ------------------------------------------------------------------------------
  117. Disable while typing
  118. ------------------------------------------------------------------------------
  119. DWT is the most generic form of palm detection on touchpad. While the user
  120. is typing on an internal keyboard the touchpad is disabled, the touchpad
  121. is enabled again after a timeout. See :ref:`disable-while-typing` for more
  122. info.
  123. Disable-while-typing can be enabled or disabled, it is enabled by default on
  124. most touchpads.
  125. ------------------------------------------------------------------------------
  126. Disable while trackpointing
  127. ------------------------------------------------------------------------------
  128. DWTP is a form of palm detection for devices that have a trackpoint (like
  129. Thinkpads). While the user is using the trackpoint, the touchpad is disabled,
  130. being enabled again after a timeout. See :ref:`disable-while-trackpointing` for
  131. more info.
  132. Disable-while-trackpointing can be enabled or disabled, it is enabled by
  133. default.
  134. ------------------------------------------------------------------------------
  135. Calibration
  136. ------------------------------------------------------------------------------
  137. Calibration is available for some direct-input devices (touch screens,
  138. graphics tablets, etc.). The purpose of calibration is to ensure the input
  139. lines up with the output and the configuration data is a transformation
  140. matrix. It is thus not expected that the user sets this option. The desktop
  141. environment should provide an interface for this.
  142. ------------------------------------------------------------------------------
  143. Rotation
  144. ------------------------------------------------------------------------------
  145. The device rotation applies a corrective angle to relative input events,
  146. allowing the device to be used e.g. sideways or upside-down. For example, a
  147. trackball may be used in a 90° rotated position for accessibility reasons -
  148. such a rotated position allows triggering the buttons with the thumb or
  149. the non-dominant hand.
  150. Note that where a device rotation is higher than 160 but less than 200 degrees,
  151. the direction of wheels is also inverted. For all other angles, the wheel
  152. direction is left as-is.
  153. .. _config-tablet-pressure-range:
  154. ------------------------------------------------------------------------------
  155. Tablet tool pressure range
  156. ------------------------------------------------------------------------------
  157. The pressure range on a :ref:`Tablet tool <tablet-tools>` can be reduced
  158. from the full available hardware range to a subset of that range. The effect
  159. of this is that the tablet will not register pressure until the given
  160. threshold is met, and will reach the maximum logical pressure
  161. before the maximum hardware-supported pressure is reached.
  162. See :ref:`tablet-pressure-range` for more info.
  163. .. _config-tablet-eraser-buttons:
  164. ------------------------------------------------------------------------------
  165. Tablet tool eraser buttons
  166. ------------------------------------------------------------------------------
  167. On many contemporary :ref:`Tablet tools <tablet-tools>` one button is hardcoded
  168. in firmware to emulate an eraser. This button can be remapped to provide
  169. a normal stylus button instead.
  170. See :ref:`tablet-eraser-button` for more info.
  171. ------------------------------------------------------------------------------
  172. Area configuration
  173. ------------------------------------------------------------------------------
  174. Area configuration is available for some indirect input devices such as
  175. graphics tablets. This configuration allows reducing the active area of
  176. such a device to a subset of the physically possible area.
  177. An example use-case for this is to match the aspect ratio of the device to that
  178. of the screen.
  179. See :ref:`tablet-area` for more info.