--- lilo-21.6/keytab-lilo.pl.pix Fri Aug 25 04:15:24 2000 +++ lilo-21.6/keytab-lilo.pl Mon Nov 6 01:34:41 2000 @@ -1,13 +1,12 @@ #!/usr/bin/perl $DEFAULT_MAP = "us"; -$DEFAULT_EXT = ".map"; sub usage { print STDERR "usage: $0 [ -p old_code=new_code ] ...\n". (" "x(8+length $0))."[path]default_layout[.map] ] ". - "[path]kbd_layout[.map]\n"; + "[path]kbd_layout\n"; exit 1; } @@ -35,7 +34,6 @@ local ($empty,$current); $map = $DEFAULT_MAP unless defined $map; - $map .= $DEFAULT_EXT unless $map =~ m|/[^/]+\.[^/]+$|; if (!open(FILE,"loadkeys -m $map |")) { print STDERR "loadkeys -m $map: $!\n"; exit 1; @@ -82,7 +80,9 @@ $code = $set; for (split(",",$map{"kbd:".$map})) { die "bad map entry $_ (kbd, map $map)" unless /^0x\S\S(\S\S)$/; - $table[$tmp[$code]] = hex $1 unless $table[$tmp[$code]]; + $table[$tmp[$code]] ||= hex $1 if $tmp[$code] > ord(' ') && ($code - $set) <= 59; + # ' ' is the first real character + # 59 is the end of the standard keyboard (test with showkey) $code++; } $set += 256;