Helper tools

libinput provides a `libinput` tool to query state and events.

The two most common invocations are libinput list-devices and libinput debug-events. A full explanation of the various commands available in the libinput tool is available in the libinput(1) man page. Generally, the tool must be run as root to have access to the kernel's `/dev/input/event*` device files.

# libinput list-devices

The `libinput list-devices` command shows information about devices recognized by libinput and can help identifying why a device behaves different than expected. For example, if a device does not show up in the output, it is not a supported input device.

    $ sudo libinput list-devices
    [...]
    Device:           SynPS/2 Synaptics TouchPad
    Kernel:           /dev/input/event4
    Group:            9
    Seat:             seat0, default
    Size:             97.33x66.86mm
    Capabilities:     pointer
    Tap-to-click:     disabled
    Tap drag lock:    disabled
    Left-handed:      disabled
    Nat.scrolling:    disabled
    Middle emulation: n/a
    Calibration:      n/a
    Scroll methods:   *two-finger
    Click methods:    *button-areas clickfinger
    [...]

The above listing shows example output for a touchpad. The `libinput list-devices` command lists general information about the device (the kernel event node) but also the configuration options. If an option is "n/a" it does not exist on this device. Otherwise, the tool will show the default configuration for this device, for options that have more than a binary state all available options are listed, with the default one prefixed with an asterisk (*). In the example above, the default click method is button-areas but clickinger is available.

Note that the default configuration may differ from the configuration applied by the desktop environment.

Note
  This tool is intended to be human-readable and may change its output at any time.

# libinput debug-events

The `libinput debug-events` command prints events from devices and can help to identify why a device behaves different than expected.

    $ sudo libinput debug-events --enable-tapping --set-click-method=clickfinger

See the libinput(1) man page or the `–help` output for information about the available options.

# libinput debug-gui

A simple GTK-based graphical tool that shows the behavior and location of touch events, pointer motion, scroll axes and gestures. Since this tool gathers data directly from libinput, it is thus suitable for pointer-acceleration testing.

    $ sudo libinput debug-gui

See the libinput(1) man page or the `–help` output for information about the available options.