include group descriptions when processing keybindings
authorPaul Davis <paul@linuxaudiosystems.com>
Wed, 22 Jun 2016 22:56:35 +0000 (18:56 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Thu, 23 Jun 2016 12:37:24 +0000 (08:37 -0400)
tools/fmt-bindings

index 56bdc122c0dd465bb6b92c2ce49f9ee531a39ac8..351368fb5576419afe252a27ce72ff2ef5282b04 100755 (executable)
@@ -23,8 +23,8 @@ $group_number = 0;
 
 $platform = linux;
 $winkey = 'Win';
-$make_cheatsheet = 1;
-$make_accelmap = 0;
+$make_cheatsheet = 0;
+$make_accelmap = 1;
 $merge_from = "";
 $html = 0;
 
@@ -264,7 +264,7 @@ while (<SOURCE>) {
            }
        } 
 
-       # print the accelmap output
+       # store the accelmap output
 
        if ($key =~ /^\+/) {
            # remove + and don't print it in the accelmap
@@ -282,7 +282,7 @@ while (<SOURCE>) {
                $b =~ s/LEVEL4/Level4-/;
                
                $bref = $owner_bindings{$owner};
-               push (@$bref, [ $action, $b ]);
+               push (@$bref, [ $action, $b, $group_names{$gkey} ]);
            }
        }
 
@@ -294,6 +294,9 @@ while (<SOURCE>) {
        $bref = $group_bindings{$key};
        push (@$bref, [$binding, $text]);
 
+       $sref = $section_text{$key};
+       push (@$sref, [$owner]);
+       
        next;
     }
 
@@ -308,13 +311,13 @@ if ($make_accelmap) {
        $bindings = $owner_bindings{$owner};
        shift (@$bindings); # remove initial empty element
        for my $binding (@$bindings) {
-           print '   <Binding key="' . @$binding[1] . '" action="' . @$binding[0] . "\"/>\n";
+           print '   <Binding key="' . @$binding[1] . '" action="' . @$binding[0] . '" group="' . @$binding[2] . "\"/>\n";
        }
         print "  </Press>\n </Bindings>\n";
     }
 
     # merge in the "fixed" bindings that are not defined by the argument given to this program
-    # namely, the step editor and the mixer windows
+    # this covers things like the step editor, monitor and processor box bindings
 
     foreach $hardcoded_bindings ("mixer.bindings", "step_editing.bindings", "monitor.bindings", "processor_box.bindings") {
        $path = File::Spec->catfile (dirname ($ARGV[0]), $hardcoded_bindings);