X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/159550a310db39c79c32ace87d88b036ccb596b8..85a83b4022ac7b03549703185d32fb5b85047434:/keyboard/altgr/index.inc.pl diff --git a/keyboard/altgr/index.inc.pl b/keyboard/altgr/index.inc.pl index 2308e14..6546b66 100644 --- a/keyboard/altgr/index.inc.pl +++ b/keyboard/altgr/index.inc.pl @@ -15,18 +15,18 @@ for my $name (map {@{$_}} values %cat) { my %row = %{$keys}{qw( title category flag mode image imagealt )}; $cat{$name} = \%row; - $keys->{mode} //= {'' => undef}; + $row{mode} //= {'' => undef}; - if ($keys->{def}{''}{'+a'}) { + if (($keys->{moderows} // '') =~ /^\d* [45] \d{2,}/x) { # move root +meta keys to distinct mode - $keys->{mode}{"\e"} = '+'; + $row{mode}{"\e"} = '+'; /^\+./ and $keys->{def}{"\e"}{$_} = delete $keys->{def}{''}{$_} for keys %{ $keys->{def}{''} }; } - for my $mode (keys %{ $keys->{mode} }) { - $row{def}{''}{$_} = $keys->{def}{''}{$_} for $mode || (); - $row{inventory}{$mode}{$_}++ for grep { /^g[2-9]/ } map { s/ (?!ext).*//r } map {$_->[0]} + for my $mode (keys %{ $row{mode} }) { + $row{inventory}{$mode}{$_}++ + for grep { /^g[2-9]/ } map { s/ (?!ext).*//r } map {$_->[0]} values %{ $keys->{def}{$mode} }; } }