summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/install_steps_interactive.pm4
-rw-r--r--perl-install/keyboard.pm8
2 files changed, 6 insertions, 6 deletions
diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm
index bffd331bb..9a34a2d77 100644
--- a/perl-install/install_steps_interactive.pm
+++ b/perl-install/install_steps_interactive.pm
@@ -189,11 +189,11 @@ For any question on this document, please contact MandrakeSoft S.A.
sub selectKeyboard {
my ($o, $clicked) = @_;
- my $l = keyboard::lang2keyboards($o->{lang});
+ my $l = keyboard::lang2keyboards(lang::langs($o->{langs}));
#- good guess, don't ask
return install_steps::selectKeyboard($o)
- if !$::expert && !$clicked && $l->[0][1] >= 90;
+ if !$::expert && !$clicked && $l->[0][1] >= 90 && listlength(lang::langs($o->{langs})) == 1;
my @best = map { $_->[0] } @$l;
push @best, 'us_intl' if !member('us_intl', @best);
diff --git a/perl-install/keyboard.pm b/perl-install/keyboard.pm
index f6eb9842d..aefb6ef5a 100644
--- a/perl-install/keyboard.pm
+++ b/perl-install/keyboard.pm
@@ -336,10 +336,10 @@ sub unpack_keyboards {
} map { [ split ':' ] } split ' ', $k ];
}
sub lang2keyboards {
- my ($l) = @_;
- my $li = unpack_keyboards($lang2keyboard{substr($l, 0, 5)}) || [ $keyboards{$l} && $l || "us" ];
- $li->[0][1] ||= 100 if @$li;
- $li;
+ my @li = sort { $b->[1] <=> $a->[1] } map { @$_ } map {
+ unpack_keyboards($lang2keyboard{substr($_, 0, 5)}) || [ [ ($keyboards{$_} ? $_ : "us") => 100 ] ];
+ } @_;
+ \@li;
}
sub lang2keyboard {
my ($l) = @_;