diff --git a/lib/utils.pm b/lib/utils.pm index 8ce235f0..77a61b9d 100644 --- a/lib/utils.pm +++ b/lib/utils.pm @@ -116,9 +116,18 @@ sub desktop_switch_layout { # if already selected, we're good return if (check_screen "${environment}_layout_${layout}", 3); # otherwise we need to switch - my $switcher = "alt-shift"; # anaconda - $switcher = "super-spc" if $environment eq 'gnome'; - # KDE? not used yet + # in anaconda f42+ key combo switching doesn't work and can't be + # fixed - https://bugzilla.redhat.com/show_bug.cgi?id=2319565 + if ($environment eq 'anaconda') { + my $count = 3; + while ($count) { + assert_and_click "anaconda_layout_indicator"; + return if (check_screen "anaconda_layout_${layout}", 3); + $count--; + } + die "never managed to switch to layout ${layout}!"; + } + my $switcher = "super-spc"; # gnome; FIXME for other envs if used # FIXME we use send_key_until_needlematch because sometimes the # switch just doesn't work in gdm: # https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6066#note_1707051 diff --git a/needles/anaconda/install_process/layout_indicator-20250203.json b/needles/anaconda/install_process/layout_indicator-20250203.json new file mode 100644 index 00000000..4041ccfa --- /dev/null +++ b/needles/anaconda/install_process/layout_indicator-20250203.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "height": 16, + "type": "match", + "width": 20, + "xpos": 345, + "ypos": 381 + } + ], + "properties": [], + "tags": [ + "anaconda_layout_indicator" + ] +} diff --git a/needles/anaconda/install_process/layout_indicator-20250203.png b/needles/anaconda/install_process/layout_indicator-20250203.png new file mode 100644 index 00000000..8de48e74 Binary files /dev/null and b/needles/anaconda/install_process/layout_indicator-20250203.png differ