diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5e90da3a..46376f35 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -568,6 +568,32 @@ vm-tap-no-libwacom: variables: MESON_ARGS: '-Dlibwacom=false' +vm-tap-drag: + extends: + - .fedora:40@test-suite-vm + variables: + SUITE_NAMES: 'touchpad_tap_drag' + +vm-tap-drag-no-libwacom: + extends: + - vm-tap-drag + stage: test-suite-no-libwacom + variables: + MESON_ARGS: '-Dlibwacom=false' + +vm-tap-palm: + extends: + - .fedora:40@test-suite-vm + variables: + SUITE_NAMES: 'touchpad_tap_palm' + +vm-tap-palm-no-libwacom: + extends: + - vm-tap-palm + stage: test-suite-no-libwacom + variables: + MESON_ARGS: '-Dlibwacom=false' + vm-touchpad-buttons: extends: - .fedora:40@test-suite-vm @@ -684,6 +710,30 @@ vm-valgrind-tap: rules: - if: $GITLAB_USER_LOGIN != "marge-bot" +vm-valgrind-tap-drag: + stage: valgrind + extends: + - vm-tap-drag + variables: + MESON_TEST_ARGS: '--setup=valgrind' + LITEST_JOBS: 2 + retry: + max: 2 + rules: + - if: $GITLAB_USER_LOGIN != "marge-bot" + +vm-valgrind-tap-palm: + stage: valgrind + extends: + - vm-tap-palm + variables: + MESON_TEST_ARGS: '--setup=valgrind' + LITEST_JOBS: 2 + retry: + max: 2 + rules: + - if: $GITLAB_USER_LOGIN != "marge-bot" + vm-valgrind-touchpad-buttons: stage: valgrind extends: @@ -896,6 +946,8 @@ check-test-suites: cat < ci-testsuites ; libinput-test-suite-touchpad libinput-test-suite-touchpad_tap + libinput-test-suite-touchpad_tap_drag + libinput-test-suite-touchpad_tap_palm libinput-test-suite-touchpad_buttons libinput-test-suite-tablet libinput-test-suite-gestures diff --git a/.gitlab-ci/config.yml b/.gitlab-ci/config.yml index f8cbc374..e1f603c7 100644 --- a/.gitlab-ci/config.yml +++ b/.gitlab-ci/config.yml @@ -175,6 +175,12 @@ test_suites: - name: tap suites: - touchpad_tap + - name: tap-drag + suites: + - touchpad_tap_drag + - name: tap-palm + suites: + - touchpad_tap_palm - name: touchpad-buttons suites: - touchpad_buttons diff --git a/meson.build b/meson.build index fae140eb..c4df02e1 100644 --- a/meson.build +++ b/meson.build @@ -953,6 +953,8 @@ if get_option('tests') 'touchpad', 'touchpad_buttons', 'touchpad_tap', + 'touchpad_tap_drag', + 'touchpad_tap_palm', 'trackball', 'trackpoint', 'udev', diff --git a/test/test-touchpad-tap.c b/test/test-touchpad-tap.c index c2d1b1b0..3e721590 100644 --- a/test/test-touchpad-tap.c +++ b/test/test-touchpad-tap.c @@ -5689,14 +5689,9 @@ END_TEST TEST_COLLECTION(touchpad_tap) { - struct range any_tap_range = {3, 12}; struct range multitap_range = {9, 15}; struct range tap_map_range = { LIBINPUT_CONFIG_TAP_MAP_LRM, LIBINPUT_CONFIG_TAP_MAP_LMR + 1 }; - struct range range_2fg = {0, 2}; - struct range range_2fg_multifinger_tap = {2, 8}; - struct range range_3fg = {0, 3}; - struct range range_4fg = {0, 4}; struct range range_multifinger = {2, 5}; struct range range_multifinger_tap = {1, 4}; struct range range_multifinger_doubletap = {3, 12}; @@ -5705,12 +5700,6 @@ TEST_COLLECTION(touchpad_tap) litest_add_ranged(touchpad_doubletap, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_doubletap); litest_add_ranged(touchpad_multitap, LITEST_TOUCHPAD, LITEST_ANY, &multitap_range); litest_add_ranged(touchpad_multitap_timeout, LITEST_TOUCHPAD, LITEST_ANY, &multitap_range); - litest_add_ranged(touchpad_multitap_n_drag_timeout, LITEST_TOUCHPAD, LITEST_ANY, &multitap_range); - litest_add_ranged(touchpad_multitap_n_drag_high_delay, LITEST_TOUCHPAD, LITEST_ANY, &any_tap_range); - litest_add_ranged(touchpad_multitap_n_drag_tap, LITEST_TOUCHPAD, LITEST_ANY, &multitap_range); - litest_add_ranged(touchpad_multitap_n_drag_move, LITEST_TOUCHPAD, LITEST_ANY, &multitap_range); - litest_add_ranged(touchpad_multitap_n_drag_2fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &multitap_range); - litest_add_ranged(touchpad_multitap_n_drag_click, LITEST_CLICKPAD, LITEST_ANY, &multitap_range); litest_add_ranged(touchpad_2fg_tap, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH|LITEST_SEMI_MT, &tap_map_range); litest_add_ranged(touchpad_2fg_tap_inverted, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &tap_map_range); litest_add(touchpad_2fg_tap_move_on_release, LITEST_TOUCHPAD|LITEST_SEMI_MT, LITEST_SINGLE_TOUCH); @@ -5742,25 +5731,9 @@ TEST_COLLECTION(touchpad_tap) litest_add_ranged(touchpad_move_after_touch, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger); - litest_add_ranged(touchpad_tap_n_drag, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_n_drag_2fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_n_drag_2fg_scroll, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_n_drag_draglock_2fg_scroll, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_n_drag_3fg_btntool, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH|LITEST_APPLE_CLICKPAD, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_n_drag_3fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_n_drag_3fg_swipe, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_n_drag_draglock_3fg_swipe, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_n_drag_draglock, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_n_drag_draglock_tap, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_doubletap); - litest_add_ranged(touchpad_tap_n_drag_draglock_timeout, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_n_drag_draglock_sticky, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_tap); - /* Real buttons don't interfere with tapping, so don't run those for pads with buttons */ litest_add_ranged(touchpad_double_tap_click, LITEST_CLICKPAD, LITEST_ANY, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_n_drag_click, LITEST_CLICKPAD, LITEST_ANY, &range_multifinger_tap); - litest_add_ranged(touchpad_multitap_n_drag_tap_click, LITEST_CLICKPAD, LITEST_ANY, &multitap_range); - litest_add_ranged(touchpad_tap_n_drag_draglock_tap_click, LITEST_CLICKPAD, LITEST_ANY, &range_multifinger_tap); litest_add(touchpad_tap_default_disabled, LITEST_TOUCHPAD|LITEST_BUTTON, LITEST_ANY); litest_add(touchpad_tap_default_enabled, LITEST_TOUCHPAD, LITEST_BUTTON); @@ -5777,10 +5750,43 @@ TEST_COLLECTION(touchpad_tap) litest_add(clickpad_1fg_tap_click, LITEST_CLICKPAD, LITEST_ANY); litest_add(clickpad_2fg_tap_click, LITEST_CLICKPAD, LITEST_SINGLE_TOUCH|LITEST_APPLE_CLICKPAD); +} + +TEST_COLLECTION(touchpad_tap_drag) +{ + struct range any_tap_range = {3, 12}; + struct range multitap_range = {9, 15}; + struct range range_multifinger_tap = {1, 4}; + struct range range_multifinger_doubletap = {3, 12}; litest_add(touchpad_drag_lock_default_disabled, LITEST_TOUCHPAD, LITEST_ANY); litest_add(touchpad_drag_lock_default_unavailable, LITEST_ANY, LITEST_TOUCHPAD); + litest_add_ranged(touchpad_tap_n_drag_click, LITEST_CLICKPAD, LITEST_ANY, &range_multifinger_tap); + litest_add_ranged(touchpad_multitap_n_drag_tap_click, LITEST_CLICKPAD, LITEST_ANY, &multitap_range); + litest_add_ranged(touchpad_tap_n_drag_draglock_tap_click, LITEST_CLICKPAD, LITEST_ANY, &range_multifinger_tap); + + litest_add_ranged(touchpad_multitap_n_drag_timeout, LITEST_TOUCHPAD, LITEST_ANY, &multitap_range); + litest_add_ranged(touchpad_multitap_n_drag_high_delay, LITEST_TOUCHPAD, LITEST_ANY, &any_tap_range); + litest_add_ranged(touchpad_multitap_n_drag_tap, LITEST_TOUCHPAD, LITEST_ANY, &multitap_range); + litest_add_ranged(touchpad_multitap_n_drag_move, LITEST_TOUCHPAD, LITEST_ANY, &multitap_range); + litest_add_ranged(touchpad_multitap_n_drag_2fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &multitap_range); + litest_add_ranged(touchpad_multitap_n_drag_click, LITEST_CLICKPAD, LITEST_ANY, &multitap_range); + + litest_add_ranged(touchpad_tap_n_drag, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_tap); + litest_add_ranged(touchpad_tap_n_drag_2fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_multifinger_tap); + litest_add_ranged(touchpad_tap_n_drag_2fg_scroll, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_multifinger_tap); + litest_add_ranged(touchpad_tap_n_drag_draglock_2fg_scroll, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_multifinger_tap); + litest_add_ranged(touchpad_tap_n_drag_3fg_btntool, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH|LITEST_APPLE_CLICKPAD, &range_multifinger_tap); + litest_add_ranged(touchpad_tap_n_drag_3fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_multifinger_tap); + litest_add_ranged(touchpad_tap_n_drag_3fg_swipe, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_multifinger_tap); + litest_add_ranged(touchpad_tap_n_drag_draglock_3fg_swipe, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_multifinger_tap); + litest_add_ranged(touchpad_tap_n_drag_draglock, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_tap); + litest_add_ranged(touchpad_tap_n_drag_draglock_tap, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_doubletap); + litest_add_ranged(touchpad_tap_n_drag_draglock_timeout, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_tap); + litest_add_ranged(touchpad_tap_n_drag_draglock_sticky, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_tap); + + litest_add(touchpad_drag_default_disabled, LITEST_ANY, LITEST_TOUCHPAD); litest_add(touchpad_drag_default_enabled, LITEST_TOUCHPAD, LITEST_BUTTON); litest_add(touchpad_drag_config_invalid, LITEST_TOUCHPAD, LITEST_ANY); @@ -5789,6 +5795,17 @@ TEST_COLLECTION(touchpad_tap) litest_add_ranged(touchpad_drag_disabled, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_tap); litest_add_ranged(touchpad_drag_disabled_immediate, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_tap); litest_add_ranged(touchpad_drag_disabled_multitap_no_drag, LITEST_TOUCHPAD, LITEST_ANY, &multitap_range); +} + +TEST_COLLECTION(touchpad_tap_palm) +{ + struct range multitap_range = {9, 15}; + struct range range_multifinger_tap = {1, 4}; + struct range range_multifinger_doubletap = {3, 12}; + struct range range_2fg = {0, 2}; + struct range range_2fg_multifinger_tap = {2, 8}; + struct range range_3fg = {0, 3}; + struct range range_4fg = {0, 4}; litest_add(touchpad_tap_palm_on_idle, LITEST_TOUCHPAD, LITEST_ANY); litest_add(touchpad_tap_palm_on_touch, LITEST_TOUCHPAD, LITEST_ANY);