libinput/test
Peter Hutterer 39fa451e7e pad: fix handling of direct mode switch buttons
A tablet with multiple mode toggle buttons had each mode toggle button
merely cycle to the next mode in the sequence, removing the whole point
of having multiple toggle buttons.

Fix this by defaulting each mode toggle button to "next". Once we
have initialized all buttons we can check if we have multiple buttons -
if so we number them sequentially so that the first button maps to mode
0, the second maps to mode 1, etc.

Closes #1082

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1132>
2025-03-27 04:57:33 +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 test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-acer-hawaii-keyboard.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-acer-hawaii-touchpad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-aiptek-tablet.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-alps-3fg.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-alps-dualpoint.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-alps-semi-mt.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-anker-mouse-kbd.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-apple-appletouch.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-apple-internal-keyboard.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-apple-magicmouse.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-asus-rog-gladius.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-atmel-hover.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-bcm5974.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-calibrated-touchscreen.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-cyborg-rat-5.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-dell-canvas-totem-touch.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-dell-canvas-totem.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-elan-tablet.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-elantech-touchpad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-format-string.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-generic-pressurepad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-generic-singletouch.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-gpio-keys.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-hp-wmi-hotkeys.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-huion-pentablet.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-huion-q620m-dial.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-ignored-mouse.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-keyboard-all-codes.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-keyboard-quirked.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-keyboard-razer-blackwidow.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-keyboard-razer-blade-stealth-videoswitch.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-keyboard-razer-blade-stealth.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-keyboard.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-lenovo-scrollpoint.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-lid-switch-surface3.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-lid-switch.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-logitech-media-keyboard-elite.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-logitech-trackball.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-magic-trackpad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-mouse-low-dpi.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-mouse-roccat.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-mouse-wheel-click-angle.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-mouse-wheel-click-count.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-mouse-wheel-tilt.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-mouse.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-ms-nano-transceiver-mouse.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-ms-surface-cover.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-nexus4-touch-screen.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-protocol-a-touch-screen.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-qemu-usb-tablet.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-sony-vaio-keys.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-synaptics-hover.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-synaptics-i2c.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-synaptics-phantomclicks.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-synaptics-pressurepad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-synaptics-rmi4.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-synaptics-st.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-synaptics-t440.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-synaptics-x1-carbon-3rd.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-synaptics-x220.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-tablet-doubledial.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-tablet-mode-switch.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-tablet-rel-dial.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-thinkpad-extrabuttons.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-touch-screen.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-touchpad-palm-threshold-zero.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-touchscreen-fuzz.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-touchscreen-invalid-range.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-touchscreen-mt-tool.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-trackpoint.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-uclogic-tablet.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-vmware-virtual-usb-mouse.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-bamboo-2fg-finger.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-bamboo-2fg-pad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-bamboo-2fg-pen.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-bamboo-16fg-pen.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-calibrated-tablet.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-cintiq-12wx-pen.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-cintiq-13hdt-finger.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-cintiq-13hdt-pad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-cintiq-13hdt-pen.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-cintiq-24hd-pen.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-cintiq-24hdt-pad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-cintiq-pro-16-finger.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-cintiq-pro-16-pad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-cintiq-pro-16-pen.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-ekr.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-hid4800-pen.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-intuos3-pad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-intuos5-finger.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-intuos5-pad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-intuos5-pen.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-isdv4-524c-pen.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-isdv4-4200-pen.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-isdv4-e6-finger.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-isdv4-e6-pen.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-mobilestudio-pro-pad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-waltop-tablet.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wheel-only.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-xen-virtual-pointer.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-yubikey.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-int.h tablet: add API for relative dials 2024-02-20 02:49:05 +00:00
litest-runner.c test: add extra highlighting for the backtrace 2025-03-14 09:52:30 +10:00
litest-runner.h test: fix litest_test_param_get_double 2025-02-18 14:58:28 +10:00
litest-selftest.c test: a boolean parameter is always true/false 2025-01-20 12:08:46 +00:00
litest.c test: pass the func/lineno down to a few more functions 2025-03-14 10:18:24 +10:00
litest.h test: add a helper call to mark the end of boilerplate in a test 2025-03-25 15:05:45 +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 tools: move the builddir lookup function out to a separate file 2019-03-14 11:28:05 +10:00
test-device.c test: fix off-by-ones in two ranges, prevent the same in remaining ranged tests 2025-02-20 09:34:20 +01:00
test-gestures.c test: remove duplicate empty lines from the test/ directory 2025-03-11 11:41:34 +00:00
test-keyboard.c Replace strneq() with hardcoded lengths with strstartswith() 2025-01-20 10:29:47 +00:00
test-library-version.c test: split the library version test out 2019-03-14 11:28:05 +10:00
test-log.c test: remove duplicate empty lines from the test/ directory 2025-03-11 11:41:34 +00:00
test-misc.c test: standardize the wacom device names 2025-03-13 05:57:37 +00:00
test-pad.c pad: fix handling of direct mode switch buttons 2025-03-27 04:57:33 +00:00
test-path.c test: remove duplicate empty lines from the test/ directory 2025-03-11 11:41:34 +00:00
test-pointer.c test: remove duplicate empty lines from the test/ directory 2025-03-11 11:41:34 +00:00
test-quirks.c test: convert most ranged tests to parametrized ones 2025-02-20 09:34:14 +01:00
test-switch.c test: remove duplicate empty lines from the test/ directory 2025-03-11 11:41:34 +00:00
test-tablet.c test: fix the tablet tool_ref test 2025-03-25 15:05:45 +10:00
test-totem.c test: don't include an internal header in the totem tests 2025-03-13 05:57:37 +00:00
test-touch.c test: standardize the wacom device names 2025-03-13 05:57:37 +00:00
test-touchpad-buttons.c test: remove duplicate empty lines from the test/ directory 2025-03-11 11:41:34 +00:00
test-touchpad-tap.c test: remove duplicate empty lines from the test/ directory 2025-03-11 11:41:34 +00:00
test-touchpad.c test: standardize the wacom device names 2025-03-13 05:57:37 +00:00
test-trackball.c test: add litest-runner as test suite runner 2024-10-30 23:20:42 +00:00
test-trackpoint.c test: remove duplicate empty lines from the test/ directory 2025-03-11 11:41:34 +00:00
test-udev.c Replace strneq() with hardcoded lengths with strstartswith() 2025-01-20 10:29:47 +00:00
test-util-includes.c Split utility functions into separate source files 2019-09-11 12:23:04 +10:00
test-utils.c test: remove duplicate empty lines from the test/ directory 2025-03-11 11:41:34 +00:00
test_quirks_files.py test: add a test to make sure we don't accidentally add Logitech receivers 2023-03-23 12:13:23 +10:00
valgrind.suppressions test: grab the device before any lid or tablet mode switches 2020-07-07 18:51:33 +10:00