I was wondering if someone could explain something for me.
In Keyboard Shortcuts sometimes when you go to assign a shortcut, if that shortcut is already being used, you will get a Colliding Keybinding dialog.
Other times the keybindings are just accepted, even though I know they are being used.
Kind of seems like certain sections maybe do not recognize double bindings?
For example if you assign a shortcut in the Editor tab and then you go into the Global section and assign that same shortcut to an action, you do not get a dialog warning.
Was just curious how this functions because sometimes it can get a little confusing.
Ardour has both global and “localized” keybindings. You can, for example, change the bindings used for MIDI editing and you should never get any collision warnings because of bindings used in automation editing. However, if you change things at the global level and attempt to “double bind” a particular shortcut, then we will warn you.
It’s all about the scope. Ardour has both global keybindings and keybindings that only work in certain contexts, like the editor, midi, automation, and so on. Only collisions in the same scope are checked.
You can use the same shortcut in Editor and Global because only one is active at a time. If two globals try to use the same key, the warning will come up. It doesn’t seem right in the UI, but that’s how it works.
Thank you guys for the responses.
Now that I have been able to narrow this down to the issue being my expectation of how the Global tab handles shortcuts, I decided it might be better to make a new Mantis post about this instead.
Actually while I am here maybe I will just give an example before creating a Mantis post about this.
EXAMPLE
-Users wants to assign a floating window such as Preferences to F1 key
-User opens up Keyboard Shortcuts dialog and sees that this is available in the Global tab
-They assign F1 key to Preferences
-This dialog accepts this shortcut, does not give any Colliding Keybinding warnings at all
-Closes this dialog
-Then while in the Editor or Mixer they hit their F1 key
-Uh oh, this F1 key does not open the Preferences dialog as expected
-With a tab called Global, user might think that this would override this shortcut being used anywhere else.
-What user was not aware of is that the F1 key is being used in both the Editor and the Mixer tab for other actions.
In order for this to actually work, they have to go into both of these sections and “Remove Shortcut” from both of these sections, and then this shortcut will work in opening up the Preferences dialog.
POSSIBLE SOLUTION
-To me it seems that the Global tab shortcuts should override all the other sections if this key is already being used in them.
-And or, this should probably show user a Colliding Keybinding warning to let them know that they are about to override this key from being used for other specific actions in those other sections.
Please let me know if anyone agree and also if I should make a post for this on Mantis site.
More specific bindings apply first, if they exist. Then less specific and finally global.
This allows us to have e.g. MIDI editing specific bindings that duplicate some of the global bindings.
If the heirarchy worked the way you’re imagining, no context specific bindings could ever use any of the keys used for global bindings.
That said, we do try to avoid re-using global bindings as much as possible. However, this does not result in zero context-specific bindings that use the same keys as a global one.
Okay, thank you Paul
To me it seems strange/a little dangerous that the Global section just accepts the key.
Probably not but do you think it would be a good idea to show user a Colliding Keybinding warning dialog, maybe showing the sections/actions that this key is being already used for in those other sections?
Because yes the default keybindings are setup with this in mind, but this dialog allows user to set custom keybindings to all these actions, and they might not be aware of this behavior.
Anyways, thank you again for the explaination, good to know.