From a8e0062e543a5339aa8df1845a8204e8be5dcebc Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Thu, 23 Oct 2003 12:53:33 +0000 Subject: - use setxkbmap instead of xmodmap if setxkbmap is available - don't run setxkbmap chrooted --- perl-install/keyboard.pm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'perl-install') diff --git a/perl-install/keyboard.pm b/perl-install/keyboard.pm index 4fdde31b7..ab448865f 100644 --- a/perl-install/keyboard.pm +++ b/perl-install/keyboard.pm @@ -450,8 +450,8 @@ sub xmodmap_file { sub setxkbmap { my ($keyboard) = @_; my $xkb = keyboard::keyboard2full_xkb($keyboard) or return; - run_program::rooted($::prefix, 'setxkbmap', '-option', '') if $xkb->{XkbOptions}; #- need re-initialised other toggles are cumulated - run_program::rooted($::prefix, 'setxkbmap', $xkb->{XkbLayout}, '-model' => $xkb->{XkbModel}, '-option' => $xkb->{XkbOptions} || '', '-compat' => $xkb->{XkbCompat} || ''); + run_program::run('setxkbmap', '-option', '') if $xkb->{XkbOptions}; #- need re-initialised other toggles are cumulated + run_program::run('setxkbmap', $xkb->{XkbLayout}, '-model' => $xkb->{XkbModel}, '-option' => $xkb->{XkbOptions} || '', '-compat' => $xkb->{XkbCompat} || ''); } sub setup { @@ -488,8 +488,12 @@ sub setup { c::_exit(0); } } - my $f = xmodmap_file($keyboard); - eval { run_program::run('xmodmap', $f) } if $f && !$::testing && $ENV{DISPLAY}; + if (-x "/usr/X11R6/bin/setxkbmap") { + setxkbmap($keyboard); + } else { + my $f = xmodmap_file($keyboard); + eval { run_program::run('xmodmap', $f) } if $f && !$::testing && $ENV{DISPLAY}; + } } sub write { -- cgit v1.2.1