Find a file
Peter Hutterer bd7b91065b evdev: warn if our event processing lags by 10ms or more
Take a snapshot of the time every 10 libinput_dispatch() calls. During event
processing, check if the event timestamp is more than 10ms in the past and
warn if it is. This should provide a warning to users when the compositor is
too slow to processes events but events aren't coming in fast enough to
trigger SYN_DROPPED.

Because we check the device event time against the dispatch time we may get
warnings for multiple devices on delayed processing. This is intended, it's
good to know which devices were affected.

In the test suite we need to ignore the warning though, since we compose the
events in very specific ways it's common to exceed that threshold
(particularly when calling litest_touch_move_to).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-05-13 06:21:27 +00:00
.gitlab/issue_templates gitlab issue templates: remove the checkmarks 2020-03-22 22:33:01 +00:00
.gitlab-ci gitlab CI: Ubuntu 19.04 is EOL, drop it 2020-04-18 05:17:52 +00:00
completion/zsh completion: add libinput analyze to zsh completions 2020-03-25 05:52:56 +00:00
doc tools: add a measure touchpad-size tool 2020-03-30 15:14:45 +10:00
include test: replace the USING_VALGRIND env with the valgrind.h header 2019-05-07 04:48:00 +00:00
quirks Lenovo X201 Tablet: Added bezel buttons support in tablet mode 2020-05-08 13:18:09 +00:00
src evdev: warn if our event processing lags by 10ms or more 2020-05-13 06:21:27 +00:00
test evdev: warn if our event processing lags by 10ms or more 2020-05-13 06:21:27 +00:00
tools tools: measure-fuzz: sleep for 2 seconds to give the hwdb time 2020-04-19 16:04:58 +10:00
udev udev: don't use IMPORT+= 2020-03-30 00:35:43 +00:00
.dir-locals.el indentation: add .dir-locals.el for emacs 2018-02-26 18:44:00 +10:00
.gitignore gitignore: ignore gnuplot files 2018-05-10 16:25:40 +10:00
.gitlab-ci.yml gitlab CI: Ubuntu 19.04 is EOL, drop it 2020-04-18 05:17:52 +00:00
.vimdir Add .vimdir for libinput-specific settings 2015-05-25 09:17:29 +10:00
CODING_STYLE.md Expand the CODING_STYLE with an explanation of commit requirements 2019-12-05 10:40:37 +10:00
COPYING COPYING: change a cgit to a gitlab URL 2018-06-06 11:17:54 +10:00
meson.build tools: add a measure touchpad-size tool 2020-03-30 15:14:45 +10:00
meson_options.txt completion: add libinput(1) zsh completions 2019-08-13 15:05:35 -07:00
README.md doc: fix sentence 2019-10-16 14:58:21 +02:00

libinput

libinput is a library that provides a full input stack for display servers and other applications that need to handle input devices provided by the kernel.

libinput provides device detection, event handling and abstraction to minimize the amount of custom input code the user of libinput needs to provide the common set of functionality that users expect. Input event processing includes scaling touch coordinates, generating relative pointer events from touchpads, pointer acceleration, etc.

User documentation

Documentation explaining features available in libinput is available here.

This includes the FAQ and the instructions on reporting bugs.

Source code

The source code of libinput can be found at: https://gitlab.freedesktop.org/libinput/libinput

For a list of current and past releases visit: https://www.freedesktop.org/wiki/Software/libinput/

Build instructions: https://wayland.freedesktop.org/libinput/doc/latest/building.html

Reporting Bugs

Bugs can be filed on freedesktop.org GitLab: https://gitlab.freedesktop.org/libinput/libinput/issues/

Where possible, please provide the libinput record output of the input device and/or the event sequence in question.

See https://wayland.freedesktop.org/libinput/doc/latest/reporting-bugs.html for more info.

Documentation

Examples of how to use libinput are the debugging tools in the libinput repository. Developers are encouraged to look at those tools for a real-world (yet simple) example on how to use libinput.

License

libinput is licensed under the MIT license.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: [...]

See the COPYING file for the full license information.

About

Documentation generated from git commit GIT_VERSION