Keyboard shortcuts for all palette symbols

• May 27, 2017 - 07:10

I am planning to implement keyboard shortcuts for all palette symbols as a part of GSoC 2017. I would like to get some feedback before I start implementing this feature.

One way to implement this would be to add keyboard shortcuts for every palette symbol, either with no default shortcut key sequence, or following a suitable scheme of assigning shortcut keys. If no default shortcut key is specified, the user would have to choose a shortcut key sequence by editing the preferences.
Another way of adding a keyboard shortcut would be by right clicking the palette symbol. This would not require the user to search through the entire list of shortcuts and edit preferences.


I requested this feature a while ago, so first of all THANK YOU!

There are so many palette items, that I don't think you could come up with enough key combinations to make one for every item. The good thing is that most people don't use every palette item. Most people use a unique subset based upon how they enter music.

I would like to see the palette shortcuts be added directly to the palette symbol. How would you add them to the shortcuts list under preferences so they would make sense? This will allow for adding shortcuts to custom palettes as well. My suggestion is to put it into the properties speed (aka context) menu. It needs to check if the shortcut is used elsewhere and identify the conflicting item. Perhaps when you add the shortcut you could get an error such as "Shortcut conflicts with item %name in %palette palette the %workspace workspace if it's a palette item or the name of the item in preferences if it's a preferences conflict.

%name is the Name from the properties of the item
%palette is the name of the palette
%workspace is the name of the workspace (i.e. basic, advanced, user 1)

Since there is the possibility of duplicate palette items in multiple workspaces (such as everything from the basic Articulations and Ornaments is included in the advanced Articulations and Ornaments), there would have to be some way for MuseScore to realize that this is a default workspace and tell the user if applicable.

Once this is done, the only thing lacking will be shortcuts to menu items. There are some that do not have the ability to have a shortcut assigned. I would like to see this fixed, even if the General dialog under the Style menu is brought up by pressing G after pressing Alt+S. The menu item would have the G underlined to indicate this is the shortcut. This is standard practice in the windows environment.

In reply to by mike320

Thank you for your feedback. The shortcuts can be added to the shortcuts list under preferences, with the name of the shortcut command "PaletteName:SymbolName" or something similar. These can be added without specifying any default shortcut key, so there would be no need to come up with a way to assign shortcut keys to all symbols. The user would have to assign key sequences for the shortcuts. Anyway, I think there are schemes of assigning shortcuts to all the palette symbols. Something like one key sequence for the palette, followed by another key sequence for the symbol. For example, Ctrl+Alt+Shift+D, P would stand for the dynamic 'p'. However, adding a keyboard shortcut directly to the palette symbol may be more convenient.

In reply to by divya-urs

In your method, you would need to come up with a plan to allow a user defined workspace and palette to be defined. Many people have custom palettes they would love to use shortcuts on. Also, using the shortcuts tab under preferences would lead to an extremely long list of definable short cuts. I believe there are about 100 bagpipe embellishments alone.

The shortcuts tab has a list of functions that are not defined elsewhere such as the triple dot so eliminating that is not an option. I know you didn't suggest it, but I thought about it. What I would like to see is a sortable list of defined short cuts. In my perfect world, they would be able to be sorted by either function name or key stroke sequence and maybe even by the defining key. e.g. ctrl-b makes text bold, so in this sorting option it would be listed under B, not ctrl. This would be useful when you are trying to decide how to define a shortcut. You may want to use the letter B, so you need to figure out what modifiers you can use. This would keep you from having to use trial and error or scrolling through the already long list of definable shortcuts and hoping you don't miss one.

I am also following this discussion with great interest. I have my own ideas about how I think things could maybe work, but I don't want to bias the discussion (yet :-).

Divya, please also reach out to some of the blind users who have contacted us, also maybe do a search of these forums to find other threads discussing this topic, and add a link to this thread.

Thank you for looking at this feature. And thanks also for reaching out to those of us not particularly active on the forums.

Regarding the Dynamics palette; I'd welcome a simple shortcut to get us into "Dynamics entry mode", much like Ctrl+T takes us to Staff text entry mode. If that shortcut also set up the fonts currently used in the Dynamics palette users could simply type the dynamics they want.

It would save finding shortcuts for every dynamic, something I doubt my brain would cope with.

Just taking it a step further; I know that at the moment after entering dynamics from the palette it's possible to add qualifiers (poco a poco, subito, cresc. etc), but you have to double click on the dynamic and enable italics. It would aid workflow if, after typing dynamics, there could be a further keyboard shortcut to take us out of the "Dynamics font" into simple italicised text, so we could then easily enter qualifying text with minimal mouse use and additional keystrokes.

Hope this is useful.

In reply to by mike320

Good point! But you still need the mouse to add the dynamic in the first place, and that's the main problem we hope to address.

BTW, while at some level I see the value in a dynamics entry mode, I would prefer to focus on more general solutions - things that work for *all* palette items. If we had a general shortcut system for all palette items, then the dynamics could be something like Ctrl+D, 1 for ppp, Ctrl+D, 2 for pp, etc. And then once entered, you could press Ctrl+E to edit the marking and add more text if desired.

In reply to by Marc Sabatella

The general shortcut system make sense to me as a starting place. A shortcut to visibly open a particular palette. I'm not sure about the number system from there; there's not much chance of me remembering that for "double bar" I need to hit 5 once I'm in the barlines palette. But if I could just navigate with the arrow keys and hit enter once I'm there that would be great!

Beyond that there are many palette items that for my needs are irrelevant but others will find indispensable. The ability to access commonly used articulation marks through shortcuts has helped my workflow enormously, even though they're not the easiest combinations to remember. So the option for each user to customise keyboard shortcuts based on their own requirements makes sense. Making all palette items *accessible* through shortcuts but allowing individual users to assign the individual shortcuts would seem a good way forward, at least to someone who wouldn't actually be writing the code!

Do you still have an unanswered question? Please log in first to post your question.