summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/keyboard.pm11
-rwxr-xr-xperl-install/standalone/keyboarddrake9
2 files changed, 12 insertions, 8 deletions
diff --git a/perl-install/keyboard.pm b/perl-install/keyboard.pm
index 454b346b1..b70da0746 100644
--- a/perl-install/keyboard.pm
+++ b/perl-install/keyboard.pm
@@ -630,6 +630,17 @@ sub write {
}
}
+sub configure_xorg {
+ my ($keyboard) = @_;
+
+ require Xconfig::default;
+ my $xfree_conf = Xconfig::xfree->read;
+ if (!is_empty_array_ref($xfree_conf)) {
+ Xconfig::default::config_keyboard($xfree_conf, $keyboard);
+ $xfree_conf->write;
+ }
+}
+
sub read() {
my %keyboard = getVarsFromSh("$::prefix/etc/sysconfig/keyboard") or return;
if (!$keyboard{KEYBOARD}) {
diff --git a/perl-install/standalone/keyboarddrake b/perl-install/standalone/keyboarddrake
index d4bde7e10..167764c08 100755
--- a/perl-install/standalone/keyboarddrake
+++ b/perl-install/standalone/keyboarddrake
@@ -48,14 +48,7 @@ if (my ($kb) = grep { !/^-/ } @ARGV) {
}
keyboard::setxkbmap($keyboard);
-eval {
- my $xfree_conf = Xconfig::xfree->read;
- if (!is_empty_array_ref($xfree_conf)) {
- my $xkb = keyboard::keyboard2full_xkb($keyboard);
- $xfree_conf->set_keyboard($xkb);
- $xfree_conf->write;
- }
-};
+keyboard::configure_xorg($keyboard);
keyboard::write($keyboard);
system('/etc/init.d/keytable', 'restart');