<: # included from keyboard.plp use 5.014; use warnings; my @incs = glob 'keyboard/altgr/*.eng.inc.pl'; Html({ title => "altgr keyboard cheat sheets", version => '1.1', description => [ "Overview of alternate keyboard modes,", "offering extended Unicode characters if a modifier key", "(such as AltGr or option) is pressed.", ], keywords => [qw' sheet cheat reference overview keyboard altgr option '], image => 'data/keyboard/thumb/ibm-m.jpg', stylesheet => [qw( light dark circus mono red )], data => ['keyboard/altgr/index.inc.plp', @incs], raw => <<'.', . }); :>

Extended keyboards

Available key layouts with AltGr or similar modifier keys.

<: my @sample = split /(?', @sample ? 'section' : 'gallery'; print '
' if @sample; 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 @sample ? '
' : '
'; printf '', $inc =~ s/\.eng$//r; my $table = $idx{$inc}; my $title = $table && $table->{title} || $inc; unless (@sample) { if ($table and my $img = $table->{image}) { EscapeHTML $name = $table->{imagealt} // $img =~ m{.*/([^/.]*)}; print qq{$name}; } printf '
%s
', $title; say '
'; } else { print $title; print ''; my $keys = Shiar_Sheet::Keyboard->new($table); print join(' ', map { $keys->{key}{$_} =~ s/\s.*//r } grep {$_} keys %{$_}) for $keys->{mode} || (); say '
'; $keys->print_key('', $_, $keys->{def}{''}{$_} // 'ni') for @sample; print '
'; say '
'; } } :>