X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/d633423013d3cfb34c674454fa402a11561c2eac..refs/heads/master:/keyboard/altgr/index.inc.plp?ds=inline diff --git a/keyboard/altgr/index.inc.plp b/keyboard/altgr/index.inc.plp index e4ed3d8..bf11415 100644 --- a/keyboard/altgr/index.inc.plp +++ b/keyboard/altgr/index.inc.plp @@ -1,12 +1,14 @@ <: # included from keyboard.plp use 5.014; use warnings; +use utf8; -my @incs = glob 'keyboard/altgr/*.eng.inc.pl'; +my $dirbase = 'keyboard/altgr'; +my $indexfile = "$dirbase/index"; Html({ title => "altgr keyboard cheat sheets", - version => '1.0', + version => '1.3', description => [ "Overview of alternate keyboard modes,", "offering extended Unicode characters if a modifier key", @@ -15,13 +17,91 @@ Html({ keywords => [qw' sheet cheat reference overview keyboard altgr option '], - stylesheet => [qw( light dark circus mono red )], - data => ['keyboard/altgr/index.inc.plp', @incs], + image => "$dirbase/thumb/ibm-m.jpg", + data => ["$dirbase/index.inc.plp", "$indexfile.inc.pl"], raw => <<'.', . @@ -30,25 +110,86 @@ img { :>
Representative images of available layouts -with AltGr or similar modifier keys.
- -Overview of available key layouts with AltGr or similar modifier keys. +Also see digraphs for compose key combinations. +
+ +<: +my $idx = Data($indexfile); +my @incs; +push @incs, @{ $idx->{$_} } for @{ $idx->{default} }; + +my @sample = split /(?VERSION(3.00); +use List::Util qw( uniq max sum ); + +my %caticon = ( + legacy => qq{\N{TOP HAT}}, + windows => qq{\x{1FA9F}}, # \N{WINDOW} + macos => qq{\N{RED APPLE}}, + xorg => qq{\N{PENGUIN}}, +); + +printf ''; + print " | $_" for @sample; + say ' | |
---|---|---|
' : ''; + } + else { + print $title; + print '', "\n\t"; + for my $mode ($table->{mode} ? sort keys %{ $table->{mode} } : '') { + print ''; + printf "", m/^(\S*)/ + for $mode && $table->{mode}{$mode} || (); + for my $g (sort keys %{ $table->{inventory}{$mode} }) { + printf ' %s', + $g, $_/$most*100, $_, + join(' ', map { + $table->{flag}{$_}[0] || 'extra' # legend label of each class + } reverse split / /, $g) + for $table->{inventory}{$mode}{$g}; + } + say ''; + } + print "\t | "; + print join ' ', map { $caticon{$_} // () } + split m{/}, $table->{category} // ''; + say ''; + if (my $keys = eval { + my $keydata = Data("$dirbase/$inc.eng"); + Shiar_Sheet::Keyboard->new($keydata) + }) { + for my $c (@sample) { + my $def = $keys->{def}{''}{$c} // []; + $def->[0] //= 'ni'; + $def->[0] =~ s/ mode\S*//; + $keys->print_key('', $c, $def); + } + } + say ' |