get and deploy harrison binaries.
[ardour.git] / tools / fmt-bindings
index 913ff25e01b7723f5b84f971cd96ab0f77dbfbc9..aa76afe72f370d2f6873084ab812ed89032357b7 100755 (executable)
@@ -31,20 +31,36 @@ GetOptions ("platform=s" => \$platform,
            "merge=s" => \$merge_from,
             "html" => \$html);
 
+#
+# The use of a separate @WINDOW@ meta-modifier was a mistake and needs to be removed from the bindings.in file.
+# There is no separate key/modifier we can use for this, so inevitably it will be the same modifier as one of
+# the other meta-modifiers. This means, for example, that @WINDOW@-b could be same as @SECONDARY@-b with no
+# warnings given. One of the bindings will work, one won't.
+#
+
 if ($platform eq "darwin") {
 
-    $gtk_modifier_map{'PRIMARY'} = 'Primary';
+    $gtk_modifier_map{'PRIMARY'} = 'Primary'; # GTK supports Primary to allow platform-independent binding to the "primary" modifier, which on OS X is Command
     $gtk_modifier_map{'SECONDARY'} = 'Control';
     $gtk_modifier_map{'TERTIARY'} = 'Shift';
-    $gtk_modifier_map{'LEVEL4'} = 'Mod1';
+    $gtk_modifier_map{'LEVEL4'} = 'Mod1'; 
     $gtk_modifier_map{'WINDOW'} = 'Control';
 
+    # cs_modifier_map == "Cheat Sheet Modifier Map"
+    # Used to control what gets shown in the
+    # cheat sheet for a given (meta)-modifier
+
     $cs_modifier_map{'PRIMARY'} = 'Cmd';
     $cs_modifier_map{'SECONDARY'} = 'Control';
     $cs_modifier_map{'TERTIARY'} = 'Shift';
-    $cs_modifier_map{'LEVEL4'} = 'Mod1';
+    $cs_modifier_map{'LEVEL4'} = 'Opt';
     $cs_modifier_map{'WINDOW'} = 'Control';
 
+    # used to display what gets shown in the
+    # cheat sheet for mouse bindings. Differs
+    # from cs_modifier map in using shorter
+    # abbreviations.
+    
     $mouse_modifier_map{'PRIMARY'} = 'Cmd';
     $mouse_modifier_map{'SECONDARY'} = 'Ctrl';
     $mouse_modifier_map{'TERTIARY'} = 'Shift';
@@ -56,23 +72,29 @@ if ($platform eq "darwin") {
     $gtk_modifier_map{'PRIMARY'} = 'Control';
     $gtk_modifier_map{'SECONDARY'} = 'Alt';
     $gtk_modifier_map{'TERTIARY'} = 'Shift';
-    $gtk_modifier_map{'LEVEL4'} = 'window';
+    $gtk_modifier_map{'LEVEL4'} = $winkey;  # something like "Mod4><Super" 
     $gtk_modifier_map{'WINDOW'} = 'Alt';
-    $gtk_modifier_map{$winkey} => 'Win';
+
+    # cs_modifier_map == "Cheat Sheet Modifier Map"
+    # Used to control what gets shown in the
+    # cheat sheet for a given (meta)-modifier
 
     $cs_modifier_map{'PRIMARY'} = 'Control';
     $cs_modifier_map{'SECONDARY'} = 'Alt';
     $cs_modifier_map{'TERTIARY'} = 'Shift';
     $cs_modifier_map{'LEVEL4'} = 'Win';
     $cs_modifier_map{'WINDOW'} = 'Alt';
-    $cs_modifier_map{$winkey} => 'Win';
+
+    # used to display what gets shown in the
+    # cheat sheet for mouse bindings. Differs
+    # from cs_modifier map in using shorter
+    # abbreviations.
 
     $mouse_modifier_map{'PRIMARY'} = 'Ctl';
     $mouse_modifier_map{'SECONDARY'} = 'Alt';
     $mouse_modifier_map{'TERTIARY'} = 'Shift';
     $mouse_modifier_map{'LEVEL4'} = 'Win';
     $mouse_modifier_map{'WINDOW'} = 'Alt';
-    $mouse_modifier_map{$winkey} => 'Win';
 }
 
 %keycodes = ();