Provided by: xserver-xorg-input-libinput_0.25.0-0ubuntu1_amd64 bug

NAME

       libinput - libinput-based X.Org input driver

SYNOPSIS

       Section "InputDevice"
         Identifier "devname"
         Driver "libinput"
         Option "Device"   "devpath"
         ...
       EndSection

NOTE

       This is the man page for the X input driver. If you are looking for the
       library               documentation,               go                to
       http://wayland.freedesktop.org/libinput/doc/

DESCRIPTION

       libinput  is  an  Xorg  input  driver  based on libinput.  It therefore
       supports all input devices that libinput  can  handle,  including  most
       mice, keyboards, tablets and touchscreens.

       It  is  recommended  that  libinput  devices are configured through the
       InputClass directive (refer to xorg.conf(5))  instead  of  manual  per-
       device  configuration.  Devices  configured in the xorg.conf(5) are not
       hot-plug capable.

CONFIGURATION DETAILS

       Please refer to xorg.conf(5) for general configuration details and  for
       options  that  can  be  used with all input drivers.  This section only
       covers configuration details specific to this driver.

       The following driver Options are supported:

       Option "AccelProfile" "string"
              Sets the pointer acceleration  profile  to  the  given  profile.
              Permitted  values  are  adaptive, flat.  Not all devices support
              this option or all profiles. If a profile  is  unsupported,  the
              default  profile  for  this device is used. For a description on
              the profiles and their behavior, see the libinput documentation.

       Option "AccelSpeed" "float"
              Sets the pointer acceleration speed within the range [-1, 1]

       Option "ButtonMapping" "string"
              Sets  the  logical  button  mapping   for   this   device,   see
              XSetPointerMapping(3). The string must be a space-separated list
              of button mappings in the order of the logical  buttons  on  the
              device,  starting  with button 1.  The default mapping is "1 2 3
              ... 32". A mapping of 0 deactivates the button. Multiple buttons
              can   have  the  same  mapping.   Invalid  mapping  strings  are
              discarded and the default  mapping  is  used  for  all  buttons.
              Buttons  not  specified  in  the  user's mapping use the default
              mapping. See section BUTTON MAPPING for more details.

       Option "CalibrationMatrix" "string"
              A string of 9 space-separated floating  point  numbers,  in  the
              order  "a  b c d e f g h i".  Sets the calibration matrix to the
              3x3 matrix where the first row is (abc), the second row is (def)
              and the third row is (ghi).

       Option "ClickMethod" "string"
              Enables  a click method. Permitted values are none, buttonareas,
              clickfinger.  Not all devices support all methods, if an  option
              is  unsupported,  the  default  click  method for this device is
              used.

       Option "DisableWhileTyping" "bool"
              Indicates if the touchpad should be disabled while typing on the
              keyboard  (this  does not apply to modifier keys such as Ctrl or
              Alt).

       Option "Device" "string"
              Specifies the device through which the device can  be  accessed.
              This  will generally be of the form "/dev/input/eventX", where X
              is some integer.  When using InputClass directives, this  option
              is  set by the server.  The mapping from device node to hardware
              is system-dependent. Property: "Device Node" (read-only).

       Option "DragLockButtons" "L1 B1 L2 B2 ..."
              Sets "drag lock buttons" that simulate a button  logically  down
              even  when it has been physically released. To logically release
              a locked button, a second click of the same button is required.

              If the option is a single button number, that button acts as the
              "meta"  locking  button  for the next button number. See section
              BUTTON DRAG LOCK for details.

              If the option is a list of button number pairs, the first number
              of  each  number  pair is the lock button, the second number the
              logical button number to be locked. See section BUTTON DRAG LOCK
              for details.

              For  both meta and button pair configuration, the button numbers
              are device button numbers, i.e. the ButtonMapping applies  after
              drag lock.

       Option "HorizontalScrolling" "bool"
              Disables  horizontal  scrolling. When disabled, this driver will
              discard any horizontal scroll events from  libinput.  Note  that
              this  does  not disable horizontal scrolling, it merely discards
              the horizontal axis from any scroll events.

       Option "LeftHanded" "bool"
              Enables left-handed button orientation, i.e. swapping  left  and
              right buttons.

       Option "MiddleEmulation" "bool"
              Enables middle button emulation. When enabled, pressing the left
              and right buttons simultaneously produces a middle mouse  button
              click.

       Option "NaturalScrolling" "bool"
              Enables or disables natural scrolling behavior.

       Option "RotationAngle" "float"
              Sets  the  rotation  angle  of the device to the given angle, in
              degrees clockwise. The angle must be between 0.0 (inclusive) and
              360.0 (exclusive).

       Option "ScrollButton" "int"
              Designates  a  button  as  scroll button. If the ScrollMethod is
              button and the button is logically held down, x/y axis  movement
              is converted into scroll events.

       Option "ScrollMethod" "string"
              Enables  a  scroll method. Permitted values are none, twofinger,
              edge, button.  Not all devices support all options, if an option
              is  unsupported,  the  default  scroll option for this device is
              used.

       Option "SendEventsMode" "(disabled|enabled|disabled-on-external-mouse)"
              Sets the send events mode to disabled, enabled, or "disable when
              an external mouse is connected".

       Option "TabletToolPressureCurve" "x0/y0 x1/y1 x2/y2 x3/y3"
              Set  the pressure curve for a tablet stylus to the bezier formed
              by the four points. The respective x/y coordinate must be in the
              [0.0, 1.0] range. For more information see section TABLET STYLUS
              PRESSURE CURVE.

       Option "TabletToolAreaRatio" "w:h"
              Sets the area ratio for a tablet tool. The area always starts at
              the  origin (0/0) and expands to the largest available area with
              the specified aspect ratio. Events outside this area are cropped
              to the area. The special value "default" is used for the default
              mapping (i.e. the device-native mapping). For  more  information
              see section TABLET TOOL AREA RATIO.

       Option "Tapping" "bool"
              Enables or disables tap-to-click behavior.

       Option "TappingButtonMap" "(lrm|lmr)"
              Set    the    button    mapping   for   1/2/3-finger   taps   to
              left/right/middle or left/middle/right, respectively.

       Option "TappingDrag" "bool"
              Enables or disables  drag  during  tapping  behavior  ("tap-and-
              drag").  When  enabled,  a  tap  followed  by a finger held down
              causes a single button down only, all  motions  of  that  finger
              thus  translate  into  dragging  motion.   Tap-and-drag requires
              option Tapping to be enabled.

       Option "TappingDragLock" "bool"
              Enables or disables drag  lock  during  tapping  behavior.  When
              enabled,  a  finger  up during tap-and-drag will not immediately
              release the button. If the finger is set down again  within  the
              timeout, the dragging process continues.

       For  all  options,  the  options are only parsed if the device supports
       that configuration option. For all options, the default  value  is  the
       one  used  by  libinput. On configuration failure, the default value is
       applied.

SUPPORTED PROPERTIES

       libinput exports  runtime-configurable  options  as  properties.  If  a
       property  listed  below  is  not  available, the matching configuration
       option is not available on the device. This however does not imply that
       the  feature  is  not available on the device. The following properties
       are provided by the libinput driver.

       libinput Accel Speed
              1 32-bit float value, defines the pointer speed. Value range -1,
              1

       libinput Button Scrolling Button
              1  32-bit  value.  Sets  the  button  number  to  use for button
              scrolling. This setting is independent of the scroll method,  to
              enable  button  scrolling  the  method  must  be  set to button-
              scrolling and a valid button must be set.

       libinput Calibration Matrix
              9 32-bit float values, representing a  3x3  calibration  matrix,
              order is row 1, row 2, row 3

       libinput Click Methods Available
              2  boolean  values  (8  bit,  0  or  1), in order "buttonareas",
              "clickfinger".  Indicates which click methods are  available  on
              this device.

       libinput Click Methods Enabled
              2  boolean  values  (8  bit,  0  or  1), in order "buttonareas",
              "clickfinger".  Indicates which click  methods  are  enabled  on
              this device.

       libinput Drag Lock Buttons
              Either  one 8-bit value specifying the meta drag lock button, or
              a list of  button  pairs.  See  section  BUTTON  DRAG  LOCK  for
              details.

       libinput Horizontal Scrolling Enabled
              1  boolean  value  (8 bit, 0 or 1). Indicates whether horizontal
              scrolling events are enabled or not.

       libinput Left Handed Enabled
              1 boolean value (8 bit, 0 or 1). Indicates if  left-handed  mode
              is enabled or disabled.

       libinput Middle Emulation Enabled
              1  boolean  value (8 bit, 0 or 1). Indicates if middle emulation
              is enabled or disabled.

       libinput Natural Scrolling Enabled
              1 boolean value (8 bit, 0 or 1). 1 enables natural scrolling

       libinput Rotation Angle
              1 32-bit float value [0.0 to 360.0). Sets the rotation angle  of
              the device, clockwise of its natural neutral position.

       libinput Scroll Methods Available
              3 boolean values (8 bit, 0 or 1), in order "two-finger", "edge",
              "button".  Indicates which scroll methods are available on  this
              device.

       libinput Scroll Method Enabled
              3 boolean values (8 bit, 0 or 1), in order "two-finger", "edge",
              "button".  Indicates which scroll method is currently enabled on
              this device.

       libinput Send Events Modes Available
              2  boolean  values  (8  bit,  0  or  1), in order "disabled" and
              "disabled-on-external-mouse". Indicates which  send-event  modes
              are available on this device.

       libinput Send Events Mode Enabled
              2  boolean  values  (8  bit,  0  or  1), in order "disabled" and
              "disabled-on-external-mouse". Indicates which  send-event  modes
              is currently enabled on this device.

       libinput Tablet Tool Pressurecurve
              4  32-bit  float  values  [0.0  to 1.0]. See section TABLET TOOL
              PRESSURE CURVE libinput Tablet Tool Area Ratio 2 32-bit  values,
              corresponding  to width and height. Special value 0, 0 resets to
              the default ratio. See section TABLET TOOL AREA RATIO  for  more
              information.

       libinput Tapping Enabled
              1 boolean value (8 bit, 0 or 1). 1 enables tapping

       libinput Tapping Button Mapping Enabled
              2  boolean  value  (8  bit,  0  or 1), in order "lrm" and "lmr".
              Indicates which button mapping  is  currently  enabled  on  this
              device.

       libinput Tapping Drag Lock Enabled
              1  boolean  value  (8  bit,  0 or 1). 1 enables drag lock during
              tapping

       libinput Disable While Typing Enabled
              1 boolean value (8 bit, 0 or  1).  Indicates  if  disable  while
              typing is enabled or disabled.

       Most properties have a libinput <property name> Default equivalent that
       indicates the default value for this setting on this device.

BUTTON MAPPING

       X clients receive events with logical button numbers, where 1, 2, 3 are
       usually interpreted as left, middle, right and logical buttons 4, 5, 6,
       7 are usually interpreted as scroll up, down, left, right.  The  fourth
       and fifth physical buttons on a device will thus send logical buttons 8
       and 9.  The ButtonMapping option adjusts the logical button mapping, it
       does not affect how a physical button is mapped to a logical button.

       Traditionally,  a device was set to left-handed button mode by applying
       a button mapping of "3 2 1 ..." On  systems  using  the  libinput  Xorg
       input driver it is recommended to use the LeftHanded option instead.

       The  libinput  Xorg  input driver does not use the button mapping after
       setup.  Use XSetPointerMapping(3)  to  modify  the  button  mapping  at
       runtime.

BUTTON DRAG LOCK

       Button  drag  lock  holds  a button logically down even when the button
       itself has been physically released since. Button drag  lock  comes  in
       two modes.

       If in "meta" mode, a meta button click activates drag lock for the next
       button press of any other button. A button click  in  the  future  will
       keep  that  button held logically down until a subsequent click of that
       same button.  The  meta  button  events  themselves  are  discarded.  A
       separate  meta button click is required each time a drag lock should be
       activated for a button in the future.

       If in "pairs" mode, each  button  can  be  assigned  a  target  locking
       button.  On button click, the target lock button is held logically down
       until the next click of the same button. The button  events  themselves
       are discarded and only the target button events are sent.

       This feature is provided by this driver, not by libinput.

TABLET TOOL PRESSURECURVE

       The pressure curve affects how stylus pressure is reported. By default,
       the hardware pressure is reported as-is. By setting a  pressure  curve,
       the feel of the stylus can be adjusted to be more like e.g. a pencil or
       a brush.

       The pressure curve is a cubic Bezier curve, drawn within  a  normalized
       range  of  0.0 to 1.0 between the four points provided. This normalized
       range is applied to the tablet's pressure input  so  that  the  highest
       pressure maps to 1.0. The points must have increasing x coordinates, if
       x0 is larger than 0.0 all pressure values lower than x0 are  equivalent
       to  y0. If x3 is less than 1.0, all pressure values higher than x3  are
       equivalent to y3.

       The input for a linear  curve  (default) is  "0.0/0.0  0.0/0.0  1.0/1.0
       1.0/1.0";  a  slightly  depressed  curve  (firmer)  might  be  "0.0/0.0
       0.05/0.0 1.0/0.95 1.0/1.0"; a slightly raised curve (softer) might   be
       "0.0/0.0 0.0/0.05 0.95/1.0 1.0/1.0".

       This feature is provided by this driver, not by libinput.

TABLET TOOL AREA RATIO

       By  default,  a  tablet  tool  can access the whole sensor area and the
       tablet area is mapped  to  the  available  screen  area.  For  external
       tablets  like  the  Wacom  Intuos series, the height:width ratio of the
       tablet may be different to that of the monitor,  causing  the  skew  of
       input data.

       To avoid this skew of input data, an area ratio may be set to match the
       ratio of the screen device. For example, a ratio of 4:3 will reduce the
       available area of the tablet to the largest available area with a ratio
       of 4:3. Events within this area will scale to  the  tablet's  announced
       axis  range,  the  area  ratio is thus transparent to the X server. Any
       events outside this area will send events equal to the maximum value of
       that  axis.   The  area  always  starts  at the device's origin in it's
       current rotation, i.e.  it takes left-handed-ness into account.

       This feature is provided by this driver, not by libinput.

AUTHORS

       Peter Hutterer

SEE ALSO

       Xorg(1), xorg.conf(5), Xserver(1), X(7)