X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/6d38d53c6cacbb5dabe6dc663c500d8ef8bb62d0..0f322b13aa1f6dd207e78658147be81d9455e3bb:/Shiar_Sheet/Keyboard.pm
diff --git a/Shiar_Sheet/Keyboard.pm b/Shiar_Sheet/Keyboard.pm
index 2cbaffe..adaa3dd 100644
--- a/Shiar_Sheet/Keyboard.pm
+++ b/Shiar_Sheet/Keyboard.pm
@@ -88,7 +88,9 @@ sub print_key {
$flags = [$key eq '^0' ? 'ni' : 'no'];
}
elsif (not ref $flags) { # alias
- $flags = [$self->keyunalias($flags) . ' alias', $self->{sign}->{alias} . $flags];
+ my $desc = $self->{sign}->{alias};
+ $desc .= $flags eq "\e" ? 'esc' : $flags;
+ $flags = [$self->keyunalias($flags) . ' alias', $desc];
}
my ($flags, $desc, $mnem) = @{$flags};
if (my $txt = $self->{key}->{$mode.$key}) {
@@ -111,7 +113,7 @@ sub print_key {
);
$flags .= ' chr'.ord(substr $key, -1) if $key ne '^0';
- print qq{\t\t
$keytxt};
+ print qq{\t\t$keytxt};
print "\n";
}
@@ -124,12 +126,15 @@ sub print_rows {
my $defrows = shift || [2, 1, 0];
my @modes = sort keys %{ $self->{def} };
+ print ''."\n\n";
+
for (my $row = -1; $row <= $#{ $keyrows{$self->{map}} }; $row++) {
my $keyrow = $row < 0 ? [["\e"]] : $keyrows{$self->{map}}->[$row];
- printf qq{\n}, $row+1;
+ printf qq{\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 : '') {
@@ -142,28 +147,30 @@ sub print_rows {
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- ", $basemode ne '' && sprintf(
- ' class="%s"', 'mode mode' . escapeclass($basemode)
+ printf "\t
", @caseclass > 0 && sprintf(
+ ' class="%s"', join ' ', @caseclass
);
- printf('%s: %s', # XXX insert here to fix msie<=6
+ printf('%s: %s | ', # 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\n};
$self->print_key($mode, $_, $modekeys->{$_}) for @$keycase;
- print qq{\t\t \n};
+ print qq{\t\t \n};
} # case
} # submode
} # basemode
- print qq{\t\n};
+ print qq{\t \n};
} # row
+
+ print " \n";
}
sub print_legend {
|