diff options
Diffstat (limited to 'perl-install/keyboard.pm')
-rw-r--r-- | perl-install/keyboard.pm | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/perl-install/keyboard.pm b/perl-install/keyboard.pm index 93e025811..c6d514553 100644 --- a/perl-install/keyboard.pm +++ b/perl-install/keyboard.pm @@ -46,7 +46,7 @@ my %keyboards = ( "gr" => [ __("Greek"), "gr-8859_7", "gr" ], "hu" => [ __("Hungarian"), "hu-latin2", "hu" ], "il" => [ __("Israeli"), "il-8859_8", "il" ], - "il" => [ __("Israeli (Phonetic)"),"hebrew", "il_phonetic" ], + "il_phonetic" => [ __("Israeli (Phonetic)"),"hebrew", "il_phonetic" ], "is" => [ __("Icelandic"), "is-latin1", "is" ], "it" => [ __("Italian"), "it-latin1", "it" ], "la" => [ __("Latin American"), "la-latin1", "la" ], @@ -59,7 +59,7 @@ my %keyboards = ( "pt" => [ __("Portuguese"), "pt-latin1", "pt" ], "qc" => [ __("Canadian (Quebec)"), "qc-latin1","ca_enhanced" ], "ru" => [ __("Russian"), "ru4", "ru" ], - "ru" => [ __("Russian (Yawerty)"),"ru-yawerty","ru_yawerty" ], + "ru_yawerty" => [ __("Russian (Yawerty)"),"ru-yawerty","ru_yawerty" ], "se" => [ __("Swedish"), "se-latin1", "se_SE" ], "si" => [ __("Slovenian"), "slovene", "si" ], "sk" => [ __("Slovakian"), "sk-qwertz", "czsk" ], @@ -79,7 +79,8 @@ my %keyboards = ( sub list { map { $_->[0] } values %keyboards } sub xmodmaps { keys %keyboards } sub keyboard2text { $keyboards{$_[0]} && $keyboards{$_[0]}[0] } -sub keyboard2xkb { $keyboards{$_[0]} && $keyboards{$_[0]}[2] } +sub keyboard2kmap { $keyboards{$_[0]} && $keyboards{$_[0]}[1] } +sub keyboard2xkb { $keyboards{$_[0]} && $keyboards{$_[0]}[2] } sub text2keyboard { my ($t) = @_; while (my ($k, $v) = each %keyboards) { @@ -88,10 +89,6 @@ sub text2keyboard { die "unknown keyboard $t"; } -sub kmap($) { - my ($keyboard) = @_; - ($keyboards{$keyboard} || [])->[1]; -} sub lang2keyboard($) { local ($_) = @_; @@ -140,11 +137,10 @@ sub setup($) { } } -sub write($$) { - my ($prefix, $keyboard) = @_; - - setVarsInSh("$prefix/etc/sysconfig/keyboard", { KEYTABLE => kmap($keyboard), BACKSPACE => "Delete" }); +sub write($$;$) { + my ($prefix, $keyboard, $isNotDelete) = @_; + setVarsInSh("$prefix/etc/sysconfig/keyboard", { KEYTABLE => keyboard2kmap($keyboard), $isNotDelete ? () : (BACKSPACE => "Delete") }); run_program::rooted($prefix, "dumpkeys > /etc/sysconfig/console/default.kmap") or die "dumpkeys failed"; } @@ -152,7 +148,7 @@ sub read($) { my ($prefix) = @_; my %keyf = getVarsFromSh("$prefix/etc/sysconfig/keyboard"); - map { kmap($_) eq $keyf{KEYTABLE} ? $_ : (); } keys %keyboards; + map { keyboard2kmap($_) eq $keyf{KEYTABLE} ? $_ : (); } keys %keyboards; } #-###################################################################################### |