/usr/share/console-setup/kbdnames-maker is in keyboard-configuration 1.123.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | #!/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 (keys %KeyboardNames::models) {
my $name = $KeyboardNames::models{$model};
print "C*model*$name*$model\n"
}
for my $layout (keys %KeyboardNames::layouts) {
my $name = $KeyboardNames::layouts{$layout};
print "C*layout*$name*$layout\n";
print "C*variant*$name**$layout\n";
for my $variant (keys %{$KeyboardNames::variants{$name}}) {
my $variantname = $KeyboardNames::variants{$name}{$variant};
print "C*variant*$name*$variantname*$layout - $variant\n";
}
}
# 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,"");
$lang =~ s:\@:__:;
$lang =~ s:__Latn:__latin:; # special fixup for sr
my $d = Locale::gettext->domain("xkeyboard-config");
for my $model (keys %KeyboardNames::models) {
my $name = $KeyboardNames::models{$model};
print "$lang*model*$name*".($d->get($model))."\n"
}
for my $layout (keys %KeyboardNames::layouts) {
my $name = $KeyboardNames::layouts{$layout};
my $local_layout = $d->get($layout);
print "$lang*layout*$name*$local_layout\n";
print "$lang*variant*$name**$local_layout\n";
for my $variant (keys %{$KeyboardNames::variants{$name}}) {
my $variantname = $KeyboardNames::variants{$name}{$variant};
print "$lang*variant*$name*$variantname*$local_layout - ".($d->get($variant))."\n";
}
}
}
|