libinput-debug-gui(1)

🌸 NAME 🌸

libinput-debug-gui β€” visual debug helper for libinput. This is from the libinput Manual, page libinput-debug-gui(1), and bestie, it’s literally a little GUI for watching libinput do its thing πŸ’–

✨ SYNOPSIS ✨

libinput debug-gui [options]

libinput debug-gui [options] --udev <seat>

libinput debug-gui [options] [--device] /dev/input/event0

πŸ¦‹ DESCRIPTION πŸ¦‹

The libinput debug-gui tool creates a libinput context and a full-screen GTK window to visualize events processed by libinput. It exclusively grabs pointing devices and stops them from interacting with the rest of the GUI. No cap, it takes over the pointing-device vibes so you can watch the events instead.

Hit Esc to exit this tool. That’s the exit strategy, bestie 🫢

⚠️ This is a debugging tool only. Its output or behavior may change at any time. Do not rely on the output or the behavior. Like, at all. It’s giving β€œtemporary little science experiment,” not β€œproduction main character.”

This tool usually needs to be run as root to have access to the /dev/input/eventX nodes.

πŸ’… OPTIONS πŸ’…

  • --device /dev/input/event0 β€” Use the given device with the path backend. The --device argument may be omitted.
  • --grab β€” Exclusively grab all opened devices. This will prevent events from being delivered to the host system.
  • --help β€” Print help.
  • --udev <seat> β€” Use the udev backend to listen for device notifications on the given seat. The default behavior is equivalent to --udev "seat0".
  • --verbose β€” Use verbose output.

For libinput configuration options, see libinput-debug-events(1).

πŸŽ€ FEATURES πŸŽ€

πŸ‘† Cursor movement

The cursor is displayed as a black triangle. Various markers are displayed in light grey to help debug cursor positioning. The cursor movement is the one as seen by libinput and may not match the cursor movement of the display server. So like, don’t blame the display server for this one’s whole setup, iykyk.

The unaccelerated cursor motion is displayed as a grey upside-down triangle. The movement of this cursor typically reflects the relative motion in device units and can differ significantly to the normal cursor movement.

The unaccelerated cursor motion is also displayed as a yellow snake. This is the connected set of recent deltas. Unlike the unaccelerated cursor, these coordinates are not clipped to the window.

πŸ”˜ Button testing

Four oblongs are displayed at the bottom. The top three are left, middle, right, the bottom one is for any other button and displays the button name on press. Cute little button row, honestly.

πŸŒ€ Scrolling

The green oblongs show the scrolling in continuous space, the smaller red oblongs the scroll steps in discrete steps.

πŸ–οΈ Gestures

A set of four horizontal black rings show swipe gestures, with the number of detected fingers filled in. A set of two black rings show pinch gestures, filled when events are detected.

🫳 Touch and absolute mouse events

Touch and absolute mouse events are displayed as red and blue circles, respectively, at the touch point or absolute position.

✍️ Tablet tools

Events from tablet tools show a cyan square at the proximity-in and proximity-out positions. The tool position is shown as circle and increases in radius with increasing pressure or distance. Pressure and distance are also shown in the vertical bar south-east of center. Where tilt is available, the circle changes to an ellipsis to indicate the tilt angle. Relative events from the tablet tool are displayed as a yellow snake, always starting from the center of the window on proximity in. Button events are displayed in the bottom-most button oblong, with the name of the button displayed on press.

πŸŽ›οΈ Tablet pads

Button events are displayed in the bottom-most button oblong, with the name of the button displayed on press. Dials, ring and strip events are displayed in the yellow IO symbol, with the position of the ring or strip or the delta of the dial filled in when events are available. The number of the dial, ring or strip is displayed when an event is available.

🧠 Kernel events

Left of the center is a blue ring to debug kernel relative events (REL_X and REL_Y). Each unit is displayed as one arrow in the respective direction. Right of the center is a blue oblong representing the most recently-used touch device. Touch events are displayed as they are read from the kernel.

πŸ“ NOTES πŸ“

Events shown by this tool may not correspond to the events seen by a different user of libinput. This tool initializes a separate context. So it’s its own little libinput situation β€” separate context, separate vibe check.

πŸ‘‘ LIBINPUT πŸ‘‘

Part of the libinput(1) suite.


πŸ’– source/version: libinput 1.32.0 Β· manual: libinput-debug-gui(1) Β· date: not listed in the footer, so I’m not inventing one β€” periodt 🫢

πŸ“¦ where this page comes from