From: Mischa POSLAWSKY Date: Mon, 26 Mar 2012 14:15:52 +0000 (+0200) Subject: keyboard: resupport key texts after definition flags X-Git-Tag: v1.5~51 X-Git-Url: http://git.shiar.nl/sheet.git/commitdiff_plain/5e459bbed48de06b1896f0ea685707a9ed66125a keyboard: resupport key texts after definition flags --- diff --git a/Shiar_Sheet/Keyboard.pm b/Shiar_Sheet/Keyboard.pm index 936b811..c5ab016 100644 --- a/Shiar_Sheet/Keyboard.pm +++ b/Shiar_Sheet/Keyboard.pm @@ -84,18 +84,15 @@ sub print_key { my $self = shift; my ($mode, $key, $flags) = @_; - my $txt = $self->{key}->{$mode.$key}; - my ($desc, $mnem) = defined $txt ? @$txt : (); - if (not defined $flags) { - $flags = $key eq '^0' ? 'ni' : 'no'; + $flags = [$key eq '^0' ? 'ni' : 'no']; } elsif (not ref $flags) { # alias - $desc = $self->{sign}->{alias} . $flags; - $flags = $self->keyunalias($flags) . ' alias'; + $flags = [$self->keyunalias($flags) . ' alias', $self->{sign}->{alias} . $flags]; } - else { - $flags = $flags->[0]; + my ($flags, $desc, $mnem) = @{$flags}; + if (my $txt = $self->{key}->{$mode.$key}) { + ($desc, $mnem) = @{$txt}; } # $key = $keytrans{$key} if defined $keytrans{$key};