Find a file
Peter Hutterer cf1abf0818 tools/record: add support for hidraw recording
New commandline switch --with-hidraw. This will open all hidraw devices
associated with this device and add any reports to the output in the
form:

  events:
    - hid:
        time: [0, 0]
        hidraw1: [0x01, 0x02, 0x03, 0x05, 0x06]
	hidraw2: [0x07, 0x08, 0x09, 0x0a, 0x0b]
    - evdev:
      ...

i.e. there's a nesting of `hid` with a list of reports, each with the hidraw
node as dictionary entry.

Because hidraw events do not have timestamps and always occur before the evdev
events, they are in a separate frame (as shown above). We could try to figure
out how to match them with the upcoming evdev frame but it's not worth it for
now.

The timestamp itself is a special key in the hidraw with the timestamp from
clock_gettime.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-05-05 03:59:34 +00:00
.gitlab/issue_templates gitlab issue templates: remove the checkmarks 2020-03-22 22:33:01 +00:00
.gitlab-ci Change various references to the master branch to main 2021-04-29 01:31:03 +00:00
completion/zsh tools/record: add support for hidraw recording 2021-05-05 03:59:34 +00:00
doc doc/user: Add instructions for using with CMake 2021-05-04 21:16:55 +02:00
include include: update event codes to v5.8 2020-08-13 11:02:33 +10:00
quirks Add quirk for Lenovo Legion 5 Pro. 2021-05-04 00:55:04 +00:00
src touchpad: if we have a right button, let's assume it's not a clickpad 2021-04-21 00:15:42 +00:00
test touchpad: if we have a right button, let's assume it's not a clickpad 2021-04-21 00:15:42 +00:00
tools tools/record: add support for hidraw recording 2021-05-05 03:59:34 +00:00
udev udev: update rules to handle bind/unbind events 2020-11-24 23:47:31 +00:00
.dir-locals.el indentation: add .dir-locals.el for emacs 2018-02-26 18:44:00 +10:00
.editorconfig tools/code-formatting: Add EditorConfig file 2021-03-19 08:37:02 +01:00
.gitignore gitignore: ignore gnuplot files 2018-05-10 16:25:40 +10:00
.gitlab-ci.yml Change various references to the master branch to main 2021-04-29 01:31:03 +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 Change various references to the master branch to main 2021-04-29 01:31:03 +00:00
meson.build meson.build: bump to 1.17.900 2021-05-05 12:46:33 +10:00
meson_options.txt completion: add libinput(1) zsh completions 2019-08-13 15:05:35 -07:00
README.md Change various references to the master branch to main 2021-04-29 01:31:03 +00: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