no warnings 'uninitialized'; # save some useless checks for more legible code
use Carp;
-our $VERSION = 'v2.02';
+our $VERSION = 'v2.03';
my @casedesc = (undef, qw/shift ctrl meta/, 'shift meta');
my @rowdesc = qw(numeric top home bottom);
}
my ($flags, $desc, $mnem) = @{$flags};
if (my $txt = $self->{key}->{$mode.$key}) {
- ($desc, $mnem) = @{$txt};
+ ($desc, $mnem) = split /\n/, $txt;
}
# $key = $keytrans{$key} if defined $keytrans{$key};
);
$flags .= ' chr'.ord(substr $key, -1) if $key ne '^0';
- print qq{\t\t<li class="$flags"$onclick>$keytxt};
+ print qq{\t\t<td class="$flags"$onclick>$keytxt};
print "\n";
}
my $defrows = shift || [2, 1, 0];
my @modes = sort keys %{ $self->{def} };
- print '<ul id="rows">'."\n\n";
+ print '<table id="rows" class="keys">'."\n\n";
for (my $row = -1; $row <= $#{ $keyrows{$self->{map}} }; $row++) {
my $keyrow = $row < 0 ? [["\e"]] : $keyrows{$self->{map}}->[$row];
- printf qq{<li class="row row%d"><ul>\n}, $row+1;
+ printf qq{<tbody class="row row%d">\n}, $row+1;
for my $basemode (@modes) {
my @moderows = split /\s+/,
+ $row < 0 ? "0" :
defined $moderows{$basemode} ? $moderows{$basemode} : $moderows{-DEFAULT};
for my $submode (@moderows ? @moderows : '') {
for my $case (@caserows) {
my $keycase = $keyrow->[$case] or next;
@$keycase or next;
+ my @caseclass;
+ push @caseclass, 'mode', 'mode'.escapeclass($basemode) if $basemode ne '';
+ push @caseclass, 'lead' if defined $modekeys->{lead}; # leading command key shown
+ push @caseclass, $casedesc[$case] if defined $casedesc[$case];
- printf "\t<li%s>", $basemode ne '' && sprintf(
- ' class="%s"', 'mode mode' . escapeclass($basemode)
+ printf "\t<tr%s>", @caseclass > 0 && sprintf(
+ ' class="%s"', join ' ', @caseclass
);
- printf('<h3>%s<small>: %s</small></h3>', # XXX insert here to fix msie<=6
+ printf('<th>%s<small>: %s</small></th>', # XXX insert here to fix msie<=6
$self->{mode}->{$mode} || "mode $basemode",
"$rowdesc[$row] row $casedesc[$case]"
) unless $row < 0;
print "\n";
- my $caseclass = 'keys';
- $caseclass .= ' lead' if defined $modekeys->{lead}; # leading command key shown
- $caseclass .= " $casedesc[$case]" if defined $casedesc[$case];
- print qq{\t\t<ul class="$caseclass">\n};
$self->print_key($mode, $_, $modekeys->{$_}) for @$keycase;
- print qq{\t\t</ul>\n};
+ print qq{\t\t</tr>\n};
} # case
} # submode
} # basemode
- print qq{\t</ul>\n};
+ print qq{\t</tbody>\n};
} # row
- print "</ul>\n";
+ print "</table>\n";
}
sub print_legend {