MMCT TEAM
Server IP : 128.199.20.84  /  Your IP : 172.69.17.173
Web Server : Apache/2.4.41 (Ubuntu)
System : Linux competent-maruti 5.4.0-128-generic #144-Ubuntu SMP Tue Sep 20 11:00:04 UTC 2022 x86_64
User : www-data ( 33)
PHP Version : 8.0.20
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF
Directory (0755) :  /usr/share/console-setup/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/console-setup/kbdnames-maker
#!/usr/bin/perl

use warnings 'all';
use strict;
use Locale::gettext;
use POSIX;

BEGIN {
    my $file;
    if ($ARGV[0]) {
	$file = $ARGV[0];
    } else {
	$file = './KeyboardNames.pl';
    }
    do "$file";
}


for my $model (sort keys %KeyboardNames::models) {
    my $name = $KeyboardNames::models{$model};
    print "C*model*$name*$model\n"
}
for my $layout (sort keys %KeyboardNames::layouts) {
    my $name = $KeyboardNames::layouts{$layout};
    print "C*layout*$name*$layout\n";
    print "C*variant*$name**$layout\n";
    for my $variant (sort keys %{$KeyboardNames::variants{$name}}) {
	my $variantname = $KeyboardNames::variants{$name}{$variant};
	print "C*variant*$name*$variantname*$layout - $variant\n";
    }
}

# Use a custom-generated locale. Taken from lintian.
chop(my $cwd = `pwd`);
my $locale_path = "$cwd/build-locale";
system("mkdir $locale_path");
system("localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias --quiet $locale_path/en_US.UTF-8");
$ENV{'LOCPATH'} = "$locale_path";

# Make sure we output UTF-8
$ENV{'LC_ALL'} = "en_US.UTF-8";
binmode STDOUT, ":utf8";

for my $mo (</usr/share/locale/*/LC_MESSAGES/xkeyboard-config.mo>) {
    my $lang = $mo;
    $lang =~ s:/usr/share/locale/(.*)/LC_MESSAGES/xkeyboard-config.mo:$1:;
    $ENV{'LANGUAGE'} = $lang;
    setlocale(LC_ALL,"");
    bindtextdomain("xkeyboard-config", "/usr/share/locale");
    textdomain("xkeyboard-config");

    $lang =~ s:\@:__:;
    $lang =~ s:__Latn:__latin:; # special fixup for sr

    my $d = Locale::gettext->domain("xkeyboard-config");
    my $iso3166 = Locale::gettext->domain("iso_3166");

    for my $model (sort keys %KeyboardNames::models) {
	my $name = $KeyboardNames::models{$model};
	print "$lang*model*$name*".($d->get($model))."\n"
    }
    for my $layout (sort keys %KeyboardNames::layouts) {
	my $name = $KeyboardNames::layouts{$layout};
	my $local_layout = $d->get($layout);
        if ($layout eq 'Switzerland') {
            $local_layout = $iso3166->get($layout);
        } else {
            $local_layout = $d->get($layout);
        }
	print "$lang*layout*$name*$local_layout\n";
	print "$lang*variant*$name**$local_layout\n";
	for my $variant (sort keys %{$KeyboardNames::variants{$name}}) {
	    my $variantname = $KeyboardNames::variants{$name}{$variant};
	    print "$lang*variant*$name*$variantname*$local_layout - ".($d->get($variant))."\n";
	}
    }
}
system("rm -rf $locale_path");

MMCT - 2023