libinput/test
Peter Hutterer bb05e0d1b5 plugin/wheel: don't accumulate for low HID resolution multipliers
Accumulating (and partially discarding) scroll wheel events serves to
debounce a scroll wheel and provide for more fluid scrolling where
scroll wheels can send events going in the wrong direction.

This is unlikely to happen on devices with low resolution multipliers
(i.e. where some significant physical movement by the wheel is required
to trigger events) so let's make it contingent on devices more likely to
have flaky wheels.

The magic threshold picked is 30 (HID resolution multiplier of 4) as a
guess. The resolution multiplier isn't accessible in userspace so we
have to heuristically get to it - typical interaction with a mouse will
have that value set within the first two, three scroll wheel events
though.

Closes #1150

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1261>
2025-07-09 01:46:41 +00:00
..
.clang-tidy Add a clang-tidy file 2025-04-07 08:43:36 +00:00
50-litest.conf test: rename the identifier in the 50-litest.conf 2020-07-15 09:36:48 +10:00
build-cxx.cc meson.build: drop the separate cpp flags 2020-09-09 13:57:39 +10:00
build-pedantic.c Fix a couple of coding style issues 2015-05-01 12:09:57 +10:00
check-leftover-udev-rules.sh test: add a script to check for leftover litest rules 2018-03-23 12:41:23 +10:00
generate-gcov-report.sh Hook up gcov for coverage reports 2017-01-20 10:35:37 +10:00
helper-copy-and-exec-from-tmp.sh tools: move the builddir lookup function out to a separate file 2019-03-14 11:28:05 +10:00
libinput-test-suite.man test: rename the identifier in the 50-litest.conf 2020-07-15 09:36:48 +10:00
litest-device-absinfo-override.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-acer-hawaii-keyboard.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-acer-hawaii-touchpad.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-aiptek-tablet.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-alps-3fg.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-alps-dualpoint.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-alps-semi-mt.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-anker-mouse-kbd.c test: update a test for current kernels 2025-07-01 09:20:57 +00:00
litest-device-apple-appletouch.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-apple-internal-keyboard.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-apple-magicmouse.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-asus-rog-gladius.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-atmel-hover.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-bcm5974.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-calibrated-touchscreen.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-cyborg-rat-5.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-dell-canvas-totem-touch.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-dell-canvas-totem.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-elan-tablet.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-elantech-touchpad.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-format-string.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-generic-pressurepad.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-generic-singletouch.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-gpio-keys.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-hp-wmi-hotkeys.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-huion-pentablet.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-huion-q620m-dial.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-ignored-mouse.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-keyboard-all-codes.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-keyboard-quirked.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-keyboard-razer-blackwidow.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-keyboard-razer-blade-stealth-videoswitch.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-keyboard-razer-blade-stealth.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-keyboard.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-lenovo-scrollpoint.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-lid-switch-surface3.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-lid-switch.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-logitech-media-keyboard-elite.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-logitech-trackball.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-magic-trackpad.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-mouse-low-dpi.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-mouse-roccat.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-mouse-virtual.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-mouse-wheel-click-angle.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-mouse-wheel-click-count.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-mouse-wheel-tilt.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-mouse.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-ms-nano-transceiver-mouse.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-ms-surface-cover.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-nexus4-touch-screen.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-protocol-a-touch-screen.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-qemu-usb-tablet.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-sony-vaio-keys.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-synaptics-hover.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-synaptics-i2c.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-synaptics-phantomclicks.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-synaptics-pressurepad.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-synaptics-rmi4.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-synaptics-st.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-synaptics-t440.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-synaptics-x1-carbon-3rd.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-synaptics-x220.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-tablet-doubledial.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-tablet-mode-switch.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-tablet-rel-dial.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-thinkpad-extrabuttons.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-touch-screen.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-touchpad-palm-threshold-zero.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-touchscreen-fuzz.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-touchscreen-invalid-range.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-touchscreen-mt-tool.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-trackpoint.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-uclogic-tablet.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-vmware-virtual-usb-mouse.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-bamboo-2fg-finger.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-bamboo-2fg-pad.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-bamboo-2fg-pen.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-bamboo-16fg-pen.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-calibrated-tablet.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-cintiq-12wx-pen.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-cintiq-13hdt-finger.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-cintiq-13hdt-pad.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-cintiq-13hdt-pen.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-cintiq-24hd-pen.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-cintiq-24hdt-pad.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-cintiq-pro-16-finger.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-cintiq-pro-16-pad.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-cintiq-pro-16-pen.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-ekr.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-hid4800-pen.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-intuos3-pad.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-intuos5-finger.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-intuos5-pad.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-intuos5-pen.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-isdv4-524c-pen.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-isdv4-4200-pen.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-isdv4-e6-finger.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-isdv4-e6-pen.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wacom-mobilestudio-pro-pad.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-waltop-tablet.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-wheel-only.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-xen-virtual-pointer.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-device-yubikey.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-int.h Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-main.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-runner.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-runner.h Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest-selftest.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
litest.c test: write pad events with a SYN_REPORT 0 2025-07-02 23:32:32 +00:00
litest.h Run clang-format over the code 2025-07-01 16:42:44 +10:00
symbols-leak-test test: print the usage from the symbols-leak-test 2022-11-22 19:02:03 +00:00
test-builddir-lookup.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
test-device.c evdev: discard any frame with EV_SYN SYN_REPORT 1 2025-07-02 23:32:32 +00:00
test-gestures.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
test-keyboard.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
test-library-version.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
test-log.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
test-misc.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
test-pad.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
test-path.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
test-pointer.c plugin/wheel: don't accumulate for low HID resolution multipliers 2025-07-09 01:46:41 +00:00
test-quirks.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
test-switch.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
test-tablet.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
test-totem.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
test-touch.c Move mtdev into a plugin 2025-07-02 06:53:05 +00:00
test-touchpad-buttons.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
test-touchpad-tap.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
test-touchpad.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
test-trackball.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
test-trackpoint.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
test-udev.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
test-util-includes.c.in test: rename test-util-includes.c to .c.in 2025-04-04 15:47:23 +00:00
test-utils.c Add evdev_frame_append_one() 2025-07-02 06:53:05 +00:00
test_quirks_files.py pre-commit: bump to latest ruff-format 2025-07-09 00:13:00 +00:00
valgrind.suppressions test: grab the device before any lid or tablet mode switches 2020-07-07 18:51:33 +10:00