-<p>Representative images of available layouts
-with AltGr or similar modifier keys.</p>
-
-<section class="gallery"><:
-my %idx = map {s/\Q.inc.pl\E$//; ($_ => eval{ Data($_) })} @incs;
-for my $inc (sort {
- $idx{$a}{category} cmp $idx{$b}{category} || $a cmp $b
-} keys %idx) {
- print '<figure>';
- printf '<a href="/%s">', $inc =~ s/\.eng$//r;
- if ($table = $idx{$inc}) {
+<p>Overview of available key layouts with AltGr or similar modifier keys.</p>
+
+<:
+my $idx = Data($indexfile);
+my @incs;
+push @incs, @{ $idx->{$_} } for @{ $idx->{default} };
+
+my @sample = split /(?<!\+)/, $get{sample} // 'asSci1!+1';
+require Shiar_Sheet::Keyboard;
+Shiar_Sheet::Keyboard->VERSION(3.00);
+use List::Util qw( uniq max sum );
+
+my %caticon = (
+ legacy => qq{<span class=icon title="deprecated">\N{TOP HAT}</span>},
+ windows => qq{<span class=icon title="Windows">\x{1FA9F}</span>}, # \N{WINDOW}
+ macos => qq{<span class=icon title="MacOS">\N{RED APPLE}</span>},
+ xorg => qq{<span class=icon title="Xorg">\N{PENGUIN}</span>},
+);
+
+printf '<section class="%s">', @sample ? 'section' : 'gallery';
+if (@sample) {
+ print '<table class="big keys cmp">';
+ print '<thead><tr><th colspan=2>';
+ print "<th>$_" for @sample;
+ say '</tr></thead>';
+}
+my $most = max(map { sum values %{ $_->{inventory}{''} } } %{$idx}{@incs});
+for my $inc (@incs) {
+ my $table = $idx->{$inc};
+ print @sample ? '<tr><th>' : '<figure>';
+ printf '<a href="/%s">', "$dirbase/$inc";
+ my $title = $table->{title} || $inc;
+
+ unless (@sample) {