- while (my ($mode, $modekeys) = each %keys) {
- for (my $case = 0; $case <= $#$keyrow; $case++) {
- my $keycase = $keyrow->[$case];
+ for my $modefull (@moderows) {
+ my $mode = $modefull;
+ my @showcase = $mode =~ s/(\d+)(?:-(\d+))?$//
+ ? (map {3 - $_} split //, $row == 0 && $2 || $1) : @caserows;
+ my $modekeys = $keys{$mode};
+
+ for my $case (@showcase) {
+ my $keycase = $keyrow->[$case] or next;