-
- for my $key (@$keycase) {
- my $keyinfo = $modekeys->{$key};
- $keyinfo = [ $sign{alias}.$keyinfo, keyunalias($keyinfo)->[1] . ' alias' ]
- if defined $keyinfo and not ref $keyinfo; # alias
- my ($desc, $flags, $mnem) = @$keyinfo if defined $keyinfo;
- defined $desc or $flags = $key eq '^0' ? 'ni' : 'no';
-
- my $keytxt = $modekeys->{lead} . Entity($key) if $key ne '^0';
- $keytxt .= $sign{arg} while $flags =~ s/ ?\barg\b//; # argument
- $keytxt .= "<small>$sign{motion}</small>" if $flags =~ s/ ?\bargm\b//; # motion argument
- $keytxt =~ s{\^(?=.)}{<small>^</small>}; # element around ctrl-identifier
- my $onclick = $flags =~ s/ ?\bmode(\S*)// && defined $keys{$1} && sprintf(
- ' onclick="setmode(%s)"',
- $1 eq '' ? '' : sprintf(q{'mode%s'}, escapeclass($1))
- );
- my $keyhint = defined($mnem) && qq{ title="$mnem"};
-
- print qq{\t\t<li class="$flags"$onclick><b$keyhint>$keytxt</b>};
- print ' ', $desc if defined $desc;
- print "\n";
- } # key
-