{ open F, "/etc/locale.conf"; my ($line) = grep(/^LANG/, ); close F; my $lang = ($line =~ /^LANG="?([a-zA-Z0-9_.-]*)"?/) ? $1 : "en_US.UTF-8"; my $kbdtype = "pc"; my $keytable = "us"; if (open F, "/etc/X11/xorg.conf.d/00-keyboard.conf") { my @lines = ; close F; #($line) = grep(/^KEYBOARDTYPE/, @lines); #if ($line =~ /^KEYBOARDTYPE="(.*)"/) #{ # $kbdtype = $1; #} ($line) = grep(/^\s+Option "XkbLayout"/, @lines); if ($line =~ /^\s+Option "XkbLayout"\s+"(.*)"/) { $keytable = $1; } } my $sysconfig = $DB->get('sysconfig') || $DB->new_record('sysconfig', { type => 'configuration'} ); $sysconfig->merge_props( Language => $lang, KeyboardType => $kbdtype, Keytable => $keytable, ); }