summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/Xconfig/parse.pm2
-rw-r--r--perl-install/Xconfig/xfreeX.pm2
-rw-r--r--perl-install/keyboard.pm5
-rwxr-xr-xperl-install/standalone/keyboarddrake2
4 files changed, 6 insertions, 5 deletions
diff --git a/perl-install/Xconfig/parse.pm b/perl-install/Xconfig/parse.pm
index 9f4b40bd5..aefc2742a 100644
--- a/perl-install/Xconfig/parse.pm
+++ b/perl-install/Xconfig/parse.pm
@@ -142,7 +142,7 @@ my %kind_names = (
WacomEraser => [ qw(Port) ], #-/
ServerLayout => [ qw(Identifier) ],
);
-my @want_string = qw(Identifier DeviceName VendorName ModelName BoardName Driver Device Chipset Monitor Protocol XkbModel XkbLayout XkbOptions Load BusID);
+my @want_string = qw(Identifier DeviceName VendorName ModelName BoardName Driver Device Chipset Monitor Protocol XkbModel XkbLayout XkbOptions XkbCompat Load BusID);
%kind_names = map_each { lc $::a => [ map { lc } @$::b ] } %kind_names;
@want_string = map { lc } @want_string;
diff --git a/perl-install/Xconfig/xfreeX.pm b/perl-install/Xconfig/xfreeX.pm
index 9b8744a4c..665b47177 100644
--- a/perl-install/Xconfig/xfreeX.pm
+++ b/perl-install/Xconfig/xfreeX.pm
@@ -52,7 +52,7 @@ sub get_monitor {
$l[0]
}
-my @keyboard_fields = qw(XkbLayout XkbModel XkbDisable XkbOptions);
+my @keyboard_fields = qw(XkbLayout XkbModel XkbDisable XkbOptions XkbCompat);
sub get_keyboard {
my ($raw_X) = @_;
my $raw_kbd = $raw_X->get_keyboard_section;
diff --git a/perl-install/keyboard.pm b/perl-install/keyboard.pm
index f9145e90f..2694b5ddc 100644
--- a/perl-install/keyboard.pm
+++ b/perl-install/keyboard.pm
@@ -403,8 +403,9 @@ sub keyboard2full_xkb {
$XkbLayout ? {
XkbLayout => $XkbLayout,
XkbModel => $XkbModel,
- XkbOptions => $keyboard->{GRP_TOGGLE} ? "grp:$keyboard->{GRP_TOGGLE}" : undef,
- } : { XkbDisable => undef };
+ XkbOptions => $keyboard->{GRP_TOGGLE} ? "grp:$keyboard->{GRP_TOGGLE}" : '',
+ XkbCompat => $keyboard->{GRP_TOGGLE} ? "group_led" : '',
+ } : { XkbDisable => '' };
}
sub xmodmap_file {
diff --git a/perl-install/standalone/keyboarddrake b/perl-install/standalone/keyboarddrake
index 624422b2a..759b2ad30 100755
--- a/perl-install/standalone/keyboarddrake
+++ b/perl-install/standalone/keyboarddrake
@@ -44,7 +44,7 @@ if ($::expert) {
my $xkb = keyboard::keyboard2full_xkb($keyboard);
system('setxkbmap', '-option', '') if $xkb->{XkbOptions}; #- need re-initialised other toggles are cumulated
-system('setxkbmap', $xkb->{XkbLayout}, '-model', $xkb->{XkbModel}, '-option', $xkb->{XkbOptions} || '');
+system('setxkbmap', $xkb->{XkbLayout}, -model => $xkb->{XkbModel}, -option => $xkb->{XkbOptions} || '', -compat => $xkb->{XkbCompat} || '');
eval {
my $xfree_conf = Xconfig::xfree->read;
$xfree_conf->set_keyboard($xkb);