vi: append flags of key aliases
[sheet.git] / Shiar_Sheet / Keyboard.pm
index 0108cf1d10f43c70ed846339c549ea0604ee4612..6908ce9c20b1dbf6d1ebfb550c57833174ade8fd 100644 (file)
@@ -6,7 +6,7 @@ use warnings;
 no  warnings 'uninitialized';  # save some useless checks for more legible code
 use Carp;
 
-our $VERSION = '2.07';
+our $VERSION = '2.08';
 
 my @casedesc = (undef, qw/shift ctrl meta/, 'shift meta');
 my @rowdesc = qw(numeric top home bottom);
@@ -110,10 +110,10 @@ sub print_key {
        if (not defined $flags) {
                $flags = $key eq '^0' ? 'ni' : 'no';
        }
-       elsif ($flags =~ s/^=//) { # alias
-               $desc = $self->{sign}->{alias};
-               $desc .= $flags eq "\e" ? 'esc' : $flags;
-               $flags = $self->keyunalias($flags) . ' alias';
+       elsif ($flags =~ s/^=(\S+)\s?//) { # alias
+               my $ref = $1;
+               $desc = $self->{sign}->{alias} . ($ref eq "\e" ? 'esc' : $ref);
+               $flags = join ' ', $self->keyunalias($ref), 'alias', $flags;
        }
        if (my $txt = $self->{key}->{$mode.$key}) {
                ($desc, $mnem) = split /\n/, $self->escapedesc($txt);