screebo: Add new touchtest to check for unexpected fling after scroll

This commit introduces a new touchtest to confirm that the fix for
unexpected non-zero flings at the end of a scroll (introduced in
http://crrev.com/c/6692511 ) is working correctly. The test specifically
verifies that a pause after a scroll results in a zero-velocity fling,
ensuring the flag to suppress zero scroll events is disabled as
intended.

BUG=b:378586077
TEST=unittests, manual testing

Cq-Depend: 6700323
Change-Id: Iacfdf3f3631a66f8809148e52a7c8166bd6e0101
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/touchpad-tests/+/6701398
Tested-by: Sairah Amuthan <sairahamuthan@google.com>
Commit-Queue: Sairah Amuthan <sairahamuthan@google.com>
Reviewed-by: Jingyuan Liang <jingyliang@chromium.org>
diff --git a/tests/screebo-1.0/check_unexpected_fling.log b/tests/screebo-1.0/check_unexpected_fling.log
new file mode 100644
index 0000000..a27eea3
--- /dev/null
+++ b/tests/screebo-1.0/check_unexpected_fling.log
@@ -0,0 +1,391 @@
+# device: Elan Touchpad
+# bit: 0B 00 00 00 00 00 00 00
+# key: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 20 E5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+# rel: 00 00 00 00 00 00 00 00
+# abs: 03 00 00 13 00 80 63 06
+# led: 00 00 00 00 00 00 00 00
+# prp: 05 00 00 00 00 00 00 00
+# absinfo: 0 0 3987 0 0 31
+# absinfo: 1 0 2493 0 0 31
+# absinfo: 24 0 255 0 0 0
+# absinfo: 25 0 1 0 0 0
+# absinfo: 28 0 15 0 0 0
+# absinfo: 47 0 4 0 0 0
+# absinfo: 48 0 2325 0 0 0
+# absinfo: 49 0 2295 0 0 0
+# absinfo: 53 0 3987 0 0 31
+# absinfo: 54 0 2493 0 0 31
+# absinfo: 57 0 65535 0 0 0
+# absinfo: 58 0 255 0 0 0
+E: 16535.103838 0003 002f 0
+E: 16535.103838 0003 0030 195
+E: 16535.103838 0003 0031 189
+E: 16535.103838 0003 0032 0
+E: 16535.103838 0003 0033 0
+E: 16535.103838 0003 0034 0
+E: 16535.103838 0003 0035 1860
+E: 16535.103838 0003 0036 368
+E: 16535.103838 0003 0037 0
+E: 16535.103838 0003 0038 0
+E: 16535.103838 0003 0039 2089
+E: 16535.103838 0003 003a 12
+E: 16535.103838 0003 003b 0
+E: 16535.103838 0003 002f 1
+E: 16535.103838 0003 0039 -1
+E: 16535.103838 0003 002f 2
+E: 16535.103838 0003 0039 -1
+E: 16535.103838 0003 002f 3
+E: 16535.103838 0003 0039 -1
+E: 16535.103838 0003 002f 4
+E: 16535.103838 0003 0039 -1
+E: 16535.103838 0003 002f 0
+E: 16535.103838 0001 0145 1
+E: 16535.103838 0001 014a 1
+E: 16535.103838 0000 0000 0
+E: 16535.113572 0003 003a 13
+E: 16535.113572 0003 0018 13
+E: 16535.113572 0000 0000 0
+E: 16535.123386 0003 003a 14
+E: 16535.123386 0003 002f 1
+E: 16535.123386 0003 0039 2090
+E: 16535.123386 0003 0035 2472
+E: 16535.123386 0003 0036 283
+E: 16535.123386 0003 003a 14
+E: 16535.123386 0003 001c 2
+E: 16535.123386 0003 0031 126
+E: 16535.123386 0001 0145 0
+E: 16535.123386 0001 014d 1
+E: 16535.123386 0003 0018 14
+E: 16535.123386 0000 0000 0
+E: 16535.133217 0003 002f 0
+E: 16535.133217 0003 003a 15
+E: 16535.133217 0003 001c 4
+E: 16535.133217 0003 0030 252
+E: 16535.133217 0003 0031 195
+E: 16535.133217 0003 002f 1
+E: 16535.133217 0003 003a 15
+E: 16535.133217 0003 001c 3
+E: 16535.133217 0003 0031 189
+E: 16535.133217 0003 0018 15
+E: 16535.133217 0000 0000 0
+E: 16535.142972 0003 002f 0
+E: 16535.142972 0003 0035 1852
+E: 16535.142972 0003 0036 383
+E: 16535.142972 0003 003a 18
+E: 16535.142972 0003 0030 195
+E: 16535.142972 0003 0031 189
+E: 16535.142972 0003 002f 1
+E: 16535.142972 0003 0036 303
+E: 16535.142972 0003 003a 16
+E: 16535.142972 0003 001c 4
+E: 16535.142972 0003 0030 252
+E: 16535.142972 0003 0031 195
+E: 16535.142972 0003 0000 1852
+E: 16535.142972 0003 0001 383
+E: 16535.142972 0003 0018 18
+E: 16535.142972 0000 0000 0
+E: 16535.152870 0003 002f 0
+E: 16535.152870 0003 0035 1839
+E: 16535.152870 0003 0036 410
+E: 16535.152870 0003 003a 21
+E: 16535.152870 0003 0030 252
+E: 16535.152870 0003 0031 195
+E: 16535.152870 0003 002f 1
+E: 16535.152870 0003 0035 2468
+E: 16535.152870 0003 0036 333
+E: 16535.152870 0003 003a 15
+E: 16535.152870 0003 001c 3
+E: 16535.152870 0003 0030 195
+E: 16535.152870 0003 0031 189
+E: 16535.152870 0003 0000 1839
+E: 16535.152870 0003 0001 410
+E: 16535.152870 0003 0018 21
+E: 16535.152870 0000 0000 0
+E: 16535.162685 0003 002f 0
+E: 16535.162685 0003 0035 1822
+E: 16535.162685 0003 0036 471
+E: 16535.162685 0003 003a 20
+E: 16535.162685 0003 0030 195
+E: 16535.162685 0003 0031 189
+E: 16535.162685 0003 002f 1
+E: 16535.162685 0003 0035 2461
+E: 16535.162685 0003 0036 381
+E: 16535.162685 0003 003a 18
+E: 16535.162685 0003 0030 260
+E: 16535.162685 0003 0000 1822
+E: 16535.162685 0003 0001 471
+E: 16535.162685 0003 0018 20
+E: 16535.162685 0000 0000 0
+E: 16535.172604 0003 002f 0
+E: 16535.172604 0003 0035 1796
+E: 16535.172604 0003 0036 570
+E: 16535.172604 0003 0030 260
+E: 16535.172604 0003 002f 1
+E: 16535.172604 0003 0035 2453
+E: 16535.172604 0003 0036 457
+E: 16535.172604 0003 0030 195
+E: 16535.172604 0003 0000 1796
+E: 16535.172604 0003 0001 570
+E: 16535.172604 0000 0000 0
+E: 16535.182206 0003 002f 0
+E: 16535.182206 0003 0035 1779
+E: 16535.182206 0003 0036 683
+E: 16535.182206 0003 003a 16
+E: 16535.182206 0003 0030 195
+E: 16535.182206 0003 002f 1
+E: 16535.182206 0003 0035 2446
+E: 16535.182206 0003 0036 558
+E: 16535.182206 0003 003a 17
+E: 16535.182206 0003 0030 189
+E: 16535.182206 0003 0031 130
+E: 16535.182206 0003 0000 1779
+E: 16535.182206 0003 0001 683
+E: 16535.182206 0003 0018 16
+E: 16535.182206 0000 0000 0
+E: 16535.191845 0003 002f 0
+E: 16535.191845 0003 0035 1771
+E: 16535.191845 0003 0036 760
+E: 16535.191845 0003 003a 17
+E: 16535.191845 0003 002f 1
+E: 16535.191845 0003 0036 627
+E: 16535.191845 0003 003a 15
+E: 16535.191845 0003 0030 195
+E: 16535.191845 0003 0031 189
+E: 16535.191845 0003 0000 1771
+E: 16535.191845 0003 0001 760
+E: 16535.191845 0003 0018 17
+E: 16535.191845 0000 0000 0
+E: 16535.201974 0003 002f 0
+E: 16535.201974 0003 0036 865
+E: 16535.201974 0003 003a 15
+E: 16535.201974 0003 002f 1
+E: 16535.201974 0003 0036 718
+E: 16535.201974 0003 0030 189
+E: 16535.201974 0003 0031 130
+E: 16535.201974 0003 0001 865
+E: 16535.201974 0003 0018 15
+E: 16535.201974 0000 0000 0
+E: 16535.211728 0003 002f 0
+E: 16535.211728 0003 0036 960
+E: 16535.211728 0003 003a 14
+E: 16535.211728 0003 002f 1
+E: 16535.211728 0003 0035 2452
+E: 16535.211728 0003 0036 805
+E: 16535.211728 0003 003a 14
+E: 16535.211728 0003 0030 195
+E: 16535.211728 0003 0031 189
+E: 16535.211728 0003 0001 960
+E: 16535.211728 0003 0018 14
+E: 16535.211728 0000 0000 0
+E: 16535.221462 0003 002f 0
+E: 16535.221462 0003 0035 1781
+E: 16535.221462 0003 0036 1072
+E: 16535.221462 0003 003a 16
+E: 16535.221462 0003 0030 189
+E: 16535.221462 0003 0031 130
+E: 16535.221462 0003 002f 1
+E: 16535.221462 0003 0035 2463
+E: 16535.221462 0003 0036 904
+E: 16535.221462 0003 003a 15
+E: 16535.221462 0003 0030 189
+E: 16535.221462 0003 0031 130
+E: 16535.221462 0003 0000 1781
+E: 16535.221462 0003 0001 1072
+E: 16535.221462 0003 0018 16
+E: 16535.221462 0000 0000 0
+E: 16535.231406 0003 002f 0
+E: 16535.231406 0003 0035 1795
+E: 16535.231406 0003 0036 1189
+E: 16535.231406 0003 003a 14
+E: 16535.231406 0003 0030 195
+E: 16535.231406 0003 0031 189
+E: 16535.231406 0003 002f 1
+E: 16535.231406 0003 0035 2474
+E: 16535.231406 0003 0036 1018
+E: 16535.231406 0003 003a 14
+E: 16535.231406 0003 0030 195
+E: 16535.231406 0003 0031 189
+E: 16535.231406 0003 0000 1795
+E: 16535.231406 0003 0001 1189
+E: 16535.231406 0003 0018 14
+E: 16535.231406 0000 0000 0
+E: 16535.241066 0003 002f 0
+E: 16535.241066 0003 0035 1813
+E: 16535.241066 0003 0036 1290
+E: 16535.241066 0003 003a 13
+E: 16535.241066 0003 001c 4
+E: 16535.241066 0003 0030 252
+E: 16535.241066 0003 0031 195
+E: 16535.241066 0003 002f 1
+E: 16535.241066 0003 0035 2486
+E: 16535.241066 0003 0036 1125
+E: 16535.241066 0003 001c 3
+E: 16535.241066 0003 0000 1813
+E: 16535.241066 0003 0001 1290
+E: 16535.241066 0003 0018 13
+E: 16535.241066 0000 0000 0
+E: 16535.250888 0003 002f 0
+E: 16535.250888 0003 0035 1832
+E: 16535.250888 0003 0036 1390
+E: 16535.250888 0003 003a 15
+E: 16535.250888 0003 0030 189
+E: 16535.250888 0003 0031 130
+E: 16535.250888 0003 002f 1
+E: 16535.250888 0003 0035 2503
+E: 16535.250888 0003 0036 1234
+E: 16535.250888 0003 003a 15
+E: 16535.250888 0003 0030 189
+E: 16535.250888 0003 0031 130
+E: 16535.250888 0003 0000 1832
+E: 16535.250888 0003 0001 1390
+E: 16535.250888 0003 0018 15
+E: 16535.250888 0000 0000 0
+E: 16535.260837 0003 002f 0
+E: 16535.260837 0003 0035 1853
+E: 16535.260837 0003 0036 1489
+E: 16535.260837 0003 003a 13
+E: 16535.260837 0003 0030 195
+E: 16535.260837 0003 0031 189
+E: 16535.260837 0003 002f 1
+E: 16535.260837 0003 0035 2528
+E: 16535.260837 0003 0036 1338
+E: 16535.260837 0003 003a 12
+E: 16535.260837 0003 0030 195
+E: 16535.260837 0003 0031 189
+E: 16535.260837 0003 0000 1853
+E: 16535.260837 0003 0001 1489
+E: 16535.260837 0003 0018 13
+E: 16535.260837 0000 0000 0
+E: 16535.270680 0003 002f 0
+E: 16535.270680 0003 0035 1873
+E: 16535.270680 0003 0036 1564
+E: 16535.270680 0003 003a 12
+E: 16535.270680 0003 0030 189
+E: 16535.270680 0003 0031 130
+E: 16535.270680 0003 002f 1
+E: 16535.270680 0003 0035 2546
+E: 16535.270680 0003 0036 1424
+E: 16535.270680 0003 0030 189
+E: 16535.270680 0003 0031 130
+E: 16535.270680 0003 0000 1873
+E: 16535.270680 0003 0001 1564
+E: 16535.270680 0003 0018 12
+E: 16535.270680 0000 0000 0
+E: 16535.280292 0003 002f 0
+E: 16535.280292 0003 0035 1894
+E: 16535.280292 0003 0036 1640
+E: 16535.280292 0003 0030 195
+E: 16535.280292 0003 0031 189
+E: 16535.280292 0003 002f 1
+E: 16535.280292 0003 0035 2566
+E: 16535.280292 0003 0036 1503
+E: 16535.280292 0003 003a 10
+E: 16535.280292 0003 0030 195
+E: 16535.280292 0003 0031 189
+E: 16535.280292 0003 0000 1894
+E: 16535.280292 0003 0001 1640
+E: 16535.280292 0000 0000 0
+E: 16535.290231 0003 002f 0
+E: 16535.290231 0003 0035 1909
+E: 16535.290231 0003 0036 1692
+E: 16535.290231 0003 003a 11
+E: 16535.290231 0003 002f 1
+E: 16535.290231 0003 0035 2581
+E: 16535.290231 0003 0036 1558
+E: 16535.290231 0003 003a 12
+E: 16535.290231 0003 0030 189
+E: 16535.290231 0003 0031 130
+E: 16535.290231 0003 0000 1909
+E: 16535.290231 0003 0001 1692
+E: 16535.290231 0003 0018 11
+E: 16535.290231 0000 0000 0
+E: 16535.300079 0003 002f 0
+E: 16535.300079 0003 0035 1918
+E: 16535.300079 0003 0036 1725
+E: 16535.300079 0003 003a 13
+E: 16535.300079 0003 0030 189
+E: 16535.300079 0003 0031 130
+E: 16535.300079 0003 002f 1
+E: 16535.300079 0003 0035 2591
+E: 16535.300079 0003 0036 1605
+E: 16535.300079 0003 0000 1918
+E: 16535.300079 0003 0001 1725
+E: 16535.300079 0003 0018 13
+E: 16535.300079 0000 0000 0
+E: 16535.309927 0003 002f 0
+E: 16535.309927 0003 0035 1921
+E: 16535.309927 0003 0036 1748
+E: 16535.309927 0003 003a 15
+E: 16535.309927 0003 002f 1
+E: 16535.309927 0003 0035 2595
+E: 16535.309927 0003 0036 1634
+E: 16535.309927 0003 0030 195
+E: 16535.309927 0003 0031 189
+E: 16535.309927 0003 0000 1921
+E: 16535.309927 0003 0001 1748
+E: 16535.309927 0003 0018 15
+E: 16535.309927 0000 0000 0
+E: 16535.319769 0003 002f 0
+E: 16535.319769 0003 0036 1762
+E: 16535.319769 0003 002f 1
+E: 16535.319769 0003 0036 1649
+E: 16535.319769 0003 003a 11
+E: 16535.319769 0003 0001 1762
+E: 16535.319769 0000 0000 0
+E: 16535.329504 0003 002f 0
+E: 16535.329504 0003 0036 1771
+E: 16535.329504 0003 003a 13
+E: 16535.329504 0003 0030 195
+E: 16535.329504 0003 0031 189
+E: 16535.329504 0003 002f 1
+E: 16535.329504 0003 0036 1655
+E: 16535.329504 0003 0001 1771
+E: 16535.329504 0003 0018 13
+E: 16535.329504 0000 0000 0
+E: 16535.339440 0003 003a 10
+E: 16535.339440 0000 0000 0
+E: 16535.349129 0003 002f 0
+E: 16535.349129 0003 003a 14
+E: 16535.349129 0003 0018 14
+E: 16535.349129 0000 0000 0
+E: 16535.358884 0003 003a 13
+E: 16535.358884 0003 002f 1
+E: 16535.358884 0003 003a 11
+E: 16535.358884 0003 0018 13
+E: 16535.358884 0000 0000 0
+E: 16535.614145 0003 002f 0
+E: 16535.614145 0003 003a 12
+E: 16535.614145 0003 0030 189
+E: 16535.614145 0003 0031 130
+E: 16535.614145 0003 0018 12
+E: 16535.614145 0000 0000 0
+E: 16535.623944 0003 003a 10
+E: 16535.623944 0003 002f 1
+E: 16535.623944 0003 003a 8
+E: 16535.623944 0003 0018 10
+E: 16535.623944 0000 0000 0
+E: 16535.633742 0003 002f 0
+E: 16535.633742 0003 003a 8
+E: 16535.633742 0003 002f 1
+E: 16535.633742 0003 003a 5
+E: 16535.633742 0003 0018 8
+E: 16535.633742 0000 0000 0
+E: 16535.663194 0003 002f 0
+E: 16535.663194 0003 0039 -1
+E: 16535.663194 0003 002f 1
+E: 16535.663194 0003 0039 -1
+E: 16535.663194 0003 0019 0
+E: 16535.663194 0001 014a 0
+E: 16535.663194 0001 014d 0
+E: 16535.663194 0003 0018 0
+E: 16535.663194 0000 0000 0
+E: 16535.663694 0003 002f 0
+E: 16535.663694 0003 0039 -1
+E: 16535.663694 0003 002f 1
+E: 16535.663694 0003 0039 -1
+E: 16535.663694 0003 002f 2
+E: 16535.663694 0003 0039 -1
+E: 16535.663694 0003 002f 3
+E: 16535.663694 0003 0039 -1
+E: 16535.663694 0003 002f 4
+E: 16535.663694 0003 0039 -1
diff --git a/tests/screebo-1.0/check_unexpected_fling.props b/tests/screebo-1.0/check_unexpected_fling.props
new file mode 100644
index 0000000..914460c
--- /dev/null
+++ b/tests/screebo-1.0/check_unexpected_fling.props
@@ -0,0 +1 @@
+{"gestures": {"Tap Drag Enable": false, "Tap Enable": true, "Pointer Sensitivity": 3, "Scroll Sensitivity": 3}}
\ No newline at end of file
diff --git a/tests/screebo-1.0/check_unexpected_fling.py b/tests/screebo-1.0/check_unexpected_fling.py
new file mode 100644
index 0000000..be9685f
--- /dev/null
+++ b/tests/screebo-1.0/check_unexpected_fling.py
@@ -0,0 +1,17 @@
+# Copyright 2025 The ChromiumOS Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+from fuzzy_check import FuzzyCheck
+from validators import *
+
+# This test verifies that a pause after a scroll gesture results
+# in a zero-velocity fling, rather than a non-zero velocity fling.
+
+def Validate(raw, events, gestures):
+  fuzzy = FuzzyCheck()
+  fuzzy.expected = [
+    FlingStopValidator(),
+    ScrollValidator(">= 0"),
+    FlingValidator("== 0"),
+  ]
+  return fuzzy.Check(gestures)