diff options
Diffstat (limited to 'perl-install/standalone/keyboarddrake')
-rwxr-xr-x | perl-install/standalone/keyboarddrake | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/perl-install/standalone/keyboarddrake b/perl-install/standalone/keyboarddrake index d2177b459..016202c68 100755 --- a/perl-install/standalone/keyboarddrake +++ b/perl-install/standalone/keyboarddrake @@ -33,6 +33,8 @@ my $xkb = keyboard::keyboard2xkb($keyboard); `setxkbmap $xkb`; my $f = "/etc/X11/XF86Config"; +my $g = "/etc/X11/XF86Config-4"; + substInFile { if (/^Section "Keyboard"/ .. /^EndSection/) { s|^(\s*XkbLayout\s+).*|$1"$xkb"| @@ -41,6 +43,14 @@ substInFile { } } $f if -e $f && !$::testing; +substInFile { + if (/^Identifier "Keyboard1"/ .. /^EndSection/) { + s|^(\s*Option\s+"XkbLayout"\s+).*|$1"$xkb"| + and $_ .= join '', map { /(\S+)(.*)/; qq( Option "$1" $2\n) } @{$xkb_options{$xkb} || []}; + s,^(\s*Option\s+"(XkbVariant|XkbOptions)"\s+).*,,; # remove existing one + } +} $g if -e $g && !$::testing; + keyboard::write('', $keyboard, $isNotDelete); $in->exit(0); |