git.shiar.nl
/
sheet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
keys: structure keyboard as html table
[sheet.git]
/
Shiar_Sheet
/
Keyboard.pm
diff --git
a/Shiar_Sheet/Keyboard.pm
b/Shiar_Sheet/Keyboard.pm
index 246900deccdad9871c6ba75cb48f803378dd7aac..adaa3ddab066b8ec67358d7d4bea4a2f47dab02b 100644
(file)
--- 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 = [$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}) {
}
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';
);
$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";
}
print "\n";
}
@@
-124,14
+126,15
@@
sub print_rows {
my $defrows = shift || [2, 1, 0];
my @modes = sort keys %{ $self->{def} };
my $defrows = shift || [2, 1, 0];
my @modes = sort keys %{ $self->{def} };
- print '<
ul id="row
s">'."\n\n";
+ print '<
table id="rows" class="key
s">'."\n\n";
for (my $row = -1; $row <= $#{ $keyrows{$self->{map}} }; $row++) {
my $keyrow = $row < 0 ? [["\e"]] : $keyrows{$self->{map}}->[$row];
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+/,
for my $basemode (@modes) {
my @moderows = split /\s+/,
+ $row < 0 ? "0" :
defined $moderows{$basemode} ? $moderows{$basemode} : $moderows{-DEFAULT};
for my $submode (@moderows ? @moderows : '') {
defined $moderows{$basemode} ? $moderows{$basemode} : $moderows{-DEFAULT};
for my $submode (@moderows ? @moderows : '') {
@@
-144,30
+147,30
@@
sub print_rows {
for my $case (@caserows) {
my $keycase = $keyrow->[$case] or next;
@$keycase or next;
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";
$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;
$self->print_key($mode, $_, $modekeys->{$_}) for @$keycase;
- print qq{\t\t</
ul
>\n};
+ print qq{\t\t</
tr
>\n};
} # case
} # submode
} # basemode
} # case
} # submode
} # basemode
- print qq{\t</
ul
>\n};
+ print qq{\t</
tbody
>\n};
} # row
} # row
- print "</
ul
>\n";
+ print "</
table
>\n";
}
sub print_legend {
}
sub print_legend {