From: Mischa POSLAWSKY Date: Sun, 11 Feb 2024 01:32:21 +0000 (+0100) Subject: keyboard/altgr/spacecadet: find similar greek on meta mode X-Git-Url: http://git.shiar.net/sheet.git/commitdiff_plain/02426ec29034d2ab8cd0cf1b11276ebc93c719ff keyboard/altgr/spacecadet: find similar greek on meta mode Ignore mode prefix in key matches. --- diff --git a/Shiar_Sheet/KeyboardChars.pm b/Shiar_Sheet/KeyboardChars.pm index d406459..e2822cd 100644 --- a/Shiar_Sheet/KeyboardChars.pm +++ b/Shiar_Sheet/KeyboardChars.pm @@ -47,9 +47,10 @@ sub kbmodes ($modes) { $info{mode}->{$lead} //= "mode $lead"; $info{def}->{$lead}{$lead} = 'g1 mode'; # back } - while (my ($c, $v) = each %{ $modes->{$lead} }) { + while (my ($k, $v) = each %{ $modes->{$lead} }) { my ($glyph, $title) = $uc->glyph_html($v); - $info{key}{$lead.$c} = join "\n", $glyph, $title; + $info{key}{$lead.$k} = join "\n", $glyph, $title; + my $c = $k =~ s/\A[+^](?=.)//r; # trim modifier indicator my $class = 'g'.( !defined $v || $c eq $v ? 1 # identical @@ -62,7 +63,7 @@ sub kbmodes ($modes) { : 6 ); $g{$class} = 1; - $info{def}{$lead}{$c} //= $class; + $info{def}{$lead}{$k} //= $class; } } $info{flag} = {%{{