summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/Xconfig/default.pm15
-rw-r--r--perl-install/keyboard.pm17
2 files changed, 18 insertions, 14 deletions
diff --git a/perl-install/Xconfig/default.pm b/perl-install/Xconfig/default.pm
index e9e4abd35..e1cd2e1b8 100644
--- a/perl-install/Xconfig/default.pm
+++ b/perl-install/Xconfig/default.pm
@@ -37,20 +37,7 @@ sub config_mouse {
sub config_keyboard {
my ($raw_X, $keyboard) = @_;
-
- my $XkbLayout = keyboard::keyboard2xkb($keyboard);
-
- my $XkbModel =
- arch() =~ /sparc/ ? 'sun' :
- $XkbLayout eq 'jp' ? 'jp106' :
- $XkbLayout eq 'br' ? 'abnt2' : 'pc105';
-
- my $xkb = { $XkbLayout ? (
- XkbLayout => $XkbLayout,
- XkbModel => $XkbModel,
- if_($keyboard->{GRP_TOGGLE}, XkbOptions => "grp:$keyboard->{GRP_TOGGLE}"),
- ) : (XkbDisable => undef) };
- $raw_X->set_keyboard($xkb);
+ $raw_X->set_keyboard(keyboard::keyboard2full_xkb($keyboard));
}
1;
diff --git a/perl-install/keyboard.pm b/perl-install/keyboard.pm
index 5ede5c53d..b2db204fd 100644
--- a/perl-install/keyboard.pm
+++ b/perl-install/keyboard.pm
@@ -390,6 +390,23 @@ sub load {
#- log::l("loaded $count keymap tables");
}
+sub keyboard2full_xkb {
+ my ($keyboard) = @_;
+
+ my $XkbLayout = keyboard2xkb($keyboard);
+
+ my $XkbModel =
+ arch() =~ /sparc/ ? 'sun' :
+ $XkbLayout eq 'jp' ? 'jp106' :
+ $XkbLayout eq 'br' ? 'abnt2' : 'pc105';
+
+ $XkbLayout ? {
+ XkbLayout => $XkbLayout,
+ XkbModel => $XkbModel,
+ XkbOptions => $keyboard->{GRP_TOGGLE} ? "grp:$keyboard->{GRP_TOGGLE}" : undef,
+ } : { XkbDisable => undef };
+}
+
sub xmodmap_file {
my ($keyboard) = @_;
my $KEYBOARD = $keyboard->{KEYBOARD};