diff options
Diffstat (limited to 'examples/minimal/files/set-lang-kbd')
-rwxr-xr-x | examples/minimal/files/set-lang-kbd | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/examples/minimal/files/set-lang-kbd b/examples/minimal/files/set-lang-kbd new file mode 100755 index 0000000..bcec647 --- /dev/null +++ b/examples/minimal/files/set-lang-kbd @@ -0,0 +1,24 @@ +#!/usr/bin/perl + +use lib qw(/usr/lib/libDrakX); + +use common; +use do_pkgs; +use lang; +use keyboard; + +my $do_pkgs = do_pkgs::do_pkgs; + +my $locale = lang::read(); +my ($lang) = cat_("/proc/cmdline") =~ /\blang=(\w+?)\b/; +my $h = lang::lang_to_ourlocale($lang); +if ($lang && member($h->{lang}, lang::list_langs(exclude_non_installed => 1))) { + put_in_hash($locale, $h); + lang::set($locale); +} +lang::write_and_install($locale, $do_pkgs); + +my $keyboard = $locale ? keyboard::lang2keyboard($locale->{lang}) : keyboard::read_or_default(); +my ($kbd) = cat_("/proc/cmdline") =~ /\bkbd=(\w+?)\b/; +$keyboard->{KEYBOARD} = $kbd if $kbd; +keyboard::configure_and_set_standalone($keyboard); |