File langset-xkb.pl of Package kiwi-config-openSUSE

#! /usr/bin/perl -w

use SaX;

open(FH, "/etc/langset.xkb");
my $XkbLayout=<FH>;
my $XkbModel=<FH>;
my $XkbOptions=<FH>;
my $XkbVariant=<FH>;

close(FH);
chomp $XkbLayout;
chomp $XkbModel;
chomp $XkbOptions;
chomp $XkbVariant;

$exc = new SaX::SaXException;
$exc -> setDebug (1);

$init = new SaX::SaXInit;
if ( $init -> needInit() ) {
    print ("initialize cache...\n");
    $init -> doInit();
}
my $status = $init -> errorString();

$config  = new SaX::SaXConfig;
$kbd     = new SaX::SaXImport ( $SaX::SAX_KEYBOARD );
$kbd -> setSource( $SaX::SAX_SYSTEM_CONFIG );
$kbd -> doImport();
$config->addImport($kbd);

$manip2 = new SaX::SaXManipulateKeyboard ($kbd);
$manip2 -> selectKeyboard( $SaX::SAX_CORE_KBD);
$manip2 -> setXKBLayout ("$XkbLayout");
$manip2 -> setXKBModel ("$XkbModel");
$manip2 -> setXKBVariant ("$XkbVariant");
$manip2 -> setXKBOptions ("$XkbOptions");


$config->setMode ( $SaX::SAX_MERGE );
if ( ! $config->createConfiguration() ) {
    print "--- " . $config->errorString() . "\n";
    print "--- " . $config->getParseErrorValue() . "\n";
    exit(1);
}
$config->commitConfiguration();

exit (0);
openSUSE Build Service is sponsored by