keyboard/altgr/index: move ctrl rows to distinct inventory mode
[sheet.git] / keyboard / altgr / index.inc.pl
index 6546b6659589025dec70e612d192c91a5d851547..b864e13c8d3593060d523664690f256b0acd438d 100644 (file)
@@ -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,10 +18,10 @@ for my $name (map {@{$_}} values %cat) {
 
        $row{mode} //= {'' => undef};
 
-       if (($keys->{moderows} // '') =~ /^\d* [45] \d{2,}/x) {
-               # move root +meta keys to distinct mode
+       if (($keys->{moderows} // '') =~ /^\d* [3-9] \d{2,}/x) {
+               # move root ^ctrl or +meta keys to distinct mode
                $row{mode}{"\e"} = '+';
-               /^\+./ and $keys->{def}{"\e"}{$_} = delete $keys->{def}{''}{$_}
+               /^[+^]./ and $keys->{def}{"\e"}{$_} = delete $keys->{def}{''}{$_}
                        for keys %{ $keys->{def}{''} };
        }