Find a file
Peter Hutterer 48cd4c7287 tablet: track pressure ranges per tablet
Tablets may have different ABS_PRESSURE ranges with the oldest tablets
having 1k pressure range, then 2k, and the newer ones 8k.

If the same tool is used across two tablets with different ABS_PRESSURE
ranges, the first tablet in proximity calculated the range on where to
normalize to. As a result the other tablet either couldn't reach the
full pressure (2k pressure first, then 8k) or the full pressure range
was reached at a fraction of the full range (8k pressure first, then
2k).

Fix this by moving the threshold handling into a separate struct and
hardcoding up to 4 of those per tool. That is 2 more than the more
complicated setups I've heard of (and this only applies to tracking the
same stylus across those tablets anyway).

This duplicates the pressure offset heuristics but that's easier than
figuring out how to handle heuristics across potentially two tablets.

The range configuration is left as-is on the assumption that this one is
per tool, not per tablet.

Closes #1089

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1143>
2025-02-25 05:18:58 +00:00
.gitlab/issue_templates gitlab: make the bug template the default template 2023-11-23 09:53:09 +10:00
.gitlab-ci CI: bump to Fedora 41 2024-12-23 07:17:31 +00:00
completion/zsh zsh: update completion to include latest debug-events options 2024-11-06 06:38:44 +10:00
doc touchpad: implement support for three-finger drag 2025-02-18 06:44:01 +00:00
include Remove trailing whitespaces in the tree 2022-11-25 10:08:20 +10:00
quirks quirks: add quirk for the RazerBlade182024 Keyboard 2025-02-24 08:56:02 +00:00
src tablet: track pressure ranges per tablet 2025-02-25 05:18:58 +00:00
test tablet: track pressure ranges per tablet 2025-02-25 05:18:58 +00:00
tools touchpad: implement support for three-finger drag 2025-02-18 06:44:01 +00:00
udev libwacom: fix warnings building without libwacom 2022-07-12 19:44:59 +02:00
.dir-locals.el indentation: add .dir-locals.el for emacs 2018-02-26 18:44:00 +10:00
.editorconfig editorconfig: add settings for sym files 2024-11-04 10:31:30 +00:00
.gitignore gitignore: ignore gnuplot files 2018-05-10 16:25:40 +10:00
.gitlab-ci.yml CI: bump to Fedora 41 2024-12-23 07:17:31 +00:00
.pre-commit-config.yaml pre-commit-hooks v5.0.0 2024-12-04 02:02:12 -05:00
.triage-policies.yml triage-policies: update to handle a few more things in MRs as well 2025-02-03 09:16:02 +10:00
.vimdir Add .vimdir for libinput-specific settings 2015-05-25 09:17:29 +10:00
CODING_STYLE.md Drop the Signed-off-by requirement 2023-07-21 09:08:46 +10:00
CONTRIBUTING.md CONTRIBUTING: Add CONTRIBUTING.md 2024-02-28 17:07:45 +01:00
COPYING Change various references to the master branch to main 2021-04-29 01:31:03 +00:00
meson.build libinput 1.27.1 2025-01-06 15:04:14 +10:00
meson_options.txt meson.build: disable documentation by default 2021-08-03 12:11:09 +10: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