keyboard/altgr/index: calculate maximum inventory without names
[sheet.git] / keyboard / altgr / index.inc.plp
index a74e01228f8eee098bba96f289779b35f494c104..c6accc7669958fa79fd273e60ec06dae8414a54c 100644 (file)
@@ -111,7 +111,9 @@ img {
 :>
 <h1>Extended keyboards</h1>
 
-<p>Overview of available key layouts with AltGr or similar modifier keys.</p>
+<p>Overview of available key layouts with AltGr or similar modifier keys.
+Also see <a href="/digraphs">digraphs</a> for compose key combinations.
+</p>
 
 <:
 my $idx = Data($indexfile);
@@ -137,7 +139,9 @@ if (@sample) {
        print "<th>$_" for @sample;
        say '</tr></thead>';
 }
-my $most = max(map { sum values %{ $_->{inventory}{''} } } %{$idx}{@incs});
+my $most = max(
+       map { sum values %{$_} } map { $_->{inventory}{''} } @{$idx}{@incs}
+);
 for my $inc (@incs) {
        my $table = $idx->{$inc};
        print @sample ? '<tr><th>' : '<figure>';
@@ -177,8 +181,12 @@ for my $inc (@incs) {
                        my $keydata = Data("$dirbase/$inc.eng");
                        Shiar_Sheet::Keyboard->new($keydata)
                }) {
-                       $keys->print_key('', $_, ($keys->{def}{''}{$_} // ['ni']) =~ s/ mode\S*//r)
-                               for @sample;
+                       for my $c (@sample) {
+                               my $def = $keys->{def}{''}{$c} // [];
+                               $def->[0] //= 'ni';
+                               $def->[0] =~ s/ mode\S*//;
+                               $keys->print_key('', $c, $def);
+                       }
                }
                say '</tr>';
        }