X-Git-Url: http://git.shiar.net/sheet.git/blobdiff_plain/98a8228ac6651509dfe58a871594b5cc22cee553..ada87baf9947ff8d17f0099f29011313c7fbff34:/keyboard/altgr/index.inc.pl diff --git a/keyboard/altgr/index.inc.pl b/keyboard/altgr/index.inc.pl index 5994d9f..1f77fa7 100644 --- a/keyboard/altgr/index.inc.pl +++ b/keyboard/altgr/index.inc.pl @@ -4,10 +4,11 @@ use warnings; my %cat = ( default => [qw( euro latin science graph )], euro => [qw( windows ukext macos macos-abc weur eurkey msx )], - latin => [qw( ipa olpc boyeg drix )], + ipa => [qw( ipa-ucl xipa )], + latin => [qw( ipa-ucl olpc boyeg drix )], science => [qw( symbolics apl spacecadet )], graph => [qw( unigraph emojiworks )], - extra => [qw( msx-graph p8scii zoo )], + extra => [qw( msx-graph c64 atari p8scii zoo )], ); for my $name (map {@{$_}} values %cat) { @@ -17,7 +18,7 @@ for my $name (map {@{$_}} values %cat) { $row{mode} //= {'' => undef}; - if ($keys->{def}{''}{'+a'}) { + if (($keys->{moderows} // '') =~ /^\d* [45] \d{2,}/x) { # move root +meta keys to distinct mode $row{mode}{"\e"} = '+'; /^\+./ and $keys->{def}{"\e"}{$_} = delete $keys->{def}{''}{$_} @@ -25,7 +26,8 @@ for my $name (map {@{$_}} values %cat) { } for my $mode (keys %{ $row{mode} }) { - $row{inventory}{$mode}{$_}++ for grep { /^g[2-9]/ } map { s/ (?!ext).*//r } map {$_->[0]} + $row{inventory}{$mode}{$_}++ + for grep { /^g[2-9]/ } map { s/ (?!ext).*//r } map {$_->[0]} values %{ $keys->{def}{$mode} }; } }