libinput
1.21.0
What is libinput?
What libinput is
What libinput is not
libinput and Wayland
libinput and X.Org
Device types
Handled device types
Unhandled device types
libinput Features
Button debouncing
Clickpad software button behavior
Software button areas
Clickfinger behavior
Special Clickpads
Gestures
Lifetime of a gesture
Pinch gestures
Swipe gestures
Hold gestures
Touchscreen gestures
Gestures with enabled software buttons
Gestures on two-finger touchpads
Middle button emulation
Palm detection
Palm detection based on firmware labelling
Palm detection based on pressure
Palm detection based on touch size
Palm exclusion zones
Palm detection during trackpoint use
Disable-while-typing
Disable-while-trackpointing
Stylus-touch arbitration
Thumb detection
Thumb detection
Thumb detection based on pressure or size
Thumb detection areas
Thumb movement based on speed
Thumb detection based on finger positions
Scrolling
Horizontal scrolling
Two-finger scrolling
Edge scrolling
On-Button scrolling
Scroll sources
Lenovo *40 series touchpad support
Overview
Size of the buttons
Button behavior
Kernel support
Tap-to-click behaviour
Tap-to-click default setting
Tap-and-drag
Constraints while tapping
Tablet support
Pad buttons vs. tablet tools
Tool tip events vs. tool button events
Relative motion for tablet tools
Special axes on tablet tools
Handling of proximity events
Pressure offset on worn-out tools
Tracking unique tools
Vendor-specific tablet tool types
Out-of-bounds motion events
Tablet pad button numbers
Tablets in left-handed mode
Tablet pad modes
Tablet touch arbitration
Switches
Lid switch handling
Tablet mode switch handling
Touchpad pressure-based touch detection
Information provided by the kernel
Trackpoints and Pointing Sticks
Button scrolling on trackpoints
Motion range on trackpoints
Configuration options
Tap-to-click
Send Events Mode
Pointer acceleration
Scrolling
Left-handed Mode
Middle Button Emulation
Click method
Disable while typing
Disable while trackpointing
Calibration
Rotation
libinput build instructions
Distribution repositories for libinput from git
Building libinput
Verifying the install
Reverting to the system-provided libinput package
SELinux adjustments
Build dependencies
Build dependencies per distribution
Conditional builds
Building against libinput
FAQs - Frequently Asked Questions
Why doesn’t libinput support …?
My mouse moves too fast, even at the slowest setting
My trackpoint moves too slow or too fast
Why is libinput’s pointer acceleration worse than synaptics/evdev
Why isn’t touchpad tap-to-click enabled by default
Why does my touchpad lose track of touches
Kinetic scrolling does not work
Is libinput GPL-licensed?
Where is the configuration stored?
How do I configure my device on Wayland?
How do I configure my device on X?
Can you add a configuration option for $FEATURE?
Why don’t synclient and syndaemon work with libinput?
Does libinput support non-Wacom tablets?
My tablet doesn’t work
How to apply hwdb changes
What causes the “your system is too slow” warning?
Is libinput required for Wayland?
Can I write a program to make libinput do $FOO
Reporting bugs
Obtaining the libinput version
Reproducing bugs
libinput configuration settings
Reporting touchpad bugs
Reporting mouse bugs
Reporting keyboard bugs
Reporting trackpoint bugs
All other devices
udev information for the device
Recording devices with evemu
My bug was closed as fixed, what now?
When is it ok to re-open a fixed bug?
Gitlab issue tracker tags
Troubleshooting
Helper tools
libinput list-devices
libinput debug-events
libinput debug-gui
libinput record and libinput replay
Measuring device properties with libinput measure
Analyzing device events with libinput analyze
Listing quirks assigned to a device
Device quirks
Installing temporary local device quirks
Debugging device quirks
List of supported device quirks
Touchpad jumping cursor bugs
AlpsPS/2 ALPS DualPoint TouchPad jumping to 4095/0
Touchpad jitter
Overriding the hysteresis margins
Kernel fuzz
Debugging touchpad pressure/size ranges
Debugging touchpad pressure ranges
Debugging touch size ranges
Trackpoint configuration
The magic trackpoint multiplier
Measuring the trackpoint range
Debugging tablet issues
Required tablet capabilities
Incorrectly enabled high-resolution scroll
Detecting and fixing the issue
Clickpads with a fake right button
Contributing to libinput
Code of Conduct
Contact
What to work on?
Getting the code
Working on the code
Testing the code
Submitting Code
Commit History
Commit Messages
Coding Style
Tracking patches and follow-ups
Failed pipeline errors
Missing “Signed-off-by: author information”
Committed gitlab-ci.yml differs from generated gitlab-ci.yml. Please verify
Build errors
Test errors
Information for developers
Using libinput as library
Absolute axes
Coordinate ranges for absolute axes
Normalization of relative motion
Seats
Timestamps
Wheel scrolling
Hacking on libinput
libinput’s internal architecture
libinput test suite
Pointer acceleration
Static device configuration via udev
API documentation
libinput
»
Troubleshooting
View page source
Troubleshooting
¶
Helper tools
libinput list-devices
libinput debug-events
libinput debug-gui
libinput record and libinput replay
Measuring device properties with libinput measure
Analyzing device events with libinput analyze
Listing quirks assigned to a device
Device quirks
Installing temporary local device quirks
Debugging device quirks
List of supported device quirks
Touchpad jumping cursor bugs
AlpsPS/2 ALPS DualPoint TouchPad jumping to 4095/0
Touchpad jitter
Overriding the hysteresis margins
Kernel fuzz
Debugging touchpad pressure/size ranges
Debugging touchpad pressure ranges
Debugging touch size ranges
Trackpoint configuration
The magic trackpoint multiplier
Measuring the trackpoint range
Debugging tablet issues
Required tablet capabilities
Incorrectly enabled high-resolution scroll
Detecting and fixing the issue
Clickpads with a fake right button