Change:touchpad: merge 2-finger horizontal and vertical scroll jobs into one
The touchpad_test.py script allows to test all of the four directions at
once. After discussing with QA team, there never was a case where only
horizontal or only vertical scrolling did not work. It's either all or
nothing. touchpad/multitouch-horizontal and touchpad/multitouch-vertical
are therefore merged into one touchpad/multitouch job.
Remove: graphics_modes_info.py script and related jobs
The graphics_modes_info.py script is used in two jobs that are not
called in any of our test plans. Moreover, since it uses xrandr, the
output might be incorrect on recent versions of Ubuntu (22.04+) using
Wayland as default.
Change: graphics/*_maximum_resolution_* compatible with X and Wayland
On Wayland, xrandr returns the current resolution as the maximum
resolution, even when it is not. For instance, if a laptop has a
3840x2160 screen but is currently set to 2560x1440, xrandr would
return 2560x1440 as the maximum available resolution.
Moreover, the python oneliner to check current resolution breaks on
recent versions of Gtk because Gdk.Screen has been deprecated.
Introduce a new script that:
- retrieves monitor(s) info from sysfs (port, max resolution, status,
etc.)
- uses up-to-date Gtk 3 methods to grab the current resolution and
scale factor for each connected monitors
- displays this information for tester to review
- compares data from sysfs and Gtk and returns an error if their data
does not match (so that the graphics/*_maximum_resolution_* job status
is automatically set to Passed or Failed depending of the outcome)
Update the graphics/*_maximum_resolution_* job to call this script.
Fix:touchpad_test.py: Use smooth scrolling events to determine direction
"scroll-method" was removed back in 2015[1] and replaced with
"edge-scrolling-enabled" and "two-finger-scrolling-enabled" keys (both
of them boolean values)[2].
Moreover, Wayland and recent versions of X (libinput) dispatch a
GDK_SCROLL_SMOOTH event instead of the old
GDK_SCROLL_[UP|DOWN|LEFT|RIGHT]. However, using this, the script has to
compute the direction using the deltas provided by
event.get_scroll_deltas(). This works on default GNOME settings
("Natural Scrolling" enabled).