diff options
-rw-r--r-- | perl-install/Xconfig/default.pm | 15 | ||||
-rw-r--r-- | perl-install/keyboard.pm | 17 |
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}; |