Some custom shortcuts no longer work in Windows 10, MuseScore 3.x
Reported version
3.3
Type
Ergonomical (UX)
Frequency
Few
Severity
S4 - Minor
Reproducibility
Always
Status
active
Regression
Yes
Workaround
Yes
Project
Problem: Create a custom shortcut for "Beam start" via the Settings-Shortcuts menu to separate beams faster.
No longer works on Windows (10 20H2). It still works on the Mac.
I've used this since MuseScore 2 and need it quite often (in combination with a beam middle shortcut to join beams).
Starting with version 3.x (unfortunately I don't remember exactly from which version) it stopped working. I tried several key combinations to exclude that it was because of that, e.g. Ctrl+Shift+8 [= "(" at the German layout], umlauts, etc.
As a workaround you have to use the palette and drag+drop "Beam start". This slows down the workflow considerably.
Comments
Ctrl+1 does work as a shortcut though, as does Ctrl+Shift+1 ("!"), so it is not the case that shortcuts in general don't work for "Beam start", just not Ctrl+Shift+8. It does though indeed in 2.3.2. Not for 3.5.2, probably much earlier
Indeed, every version has some shortcuts that won't work for some given OS and some given keyboard layout. The specifics may change because we add new defaults here or there, but it's always the case that some combinations won't work because they are indistinguishable from others. But FWIW, on my QWERTY keyboard, Ctrl+Shift+8 works fine, although ones involving Alt and arrow keys that don't always because my system reserves those for other purposes.
So to be clear, you can absolutely still define a shortcut, just choose one that doesn't conflict internally with another. We report the conflicts we are able to detect, but not ones that result from the system reporting two apparently different keystrokes using the same code, and that's probably what's happening here.
Interesing, on QWERTZ Ctrl+Shift+8 actually gives Ctrl+( and does not work
On QWERTY, Shift-8 is *.
In reply to Ctrl+1 does work as a… by Jojo-Schmitz
I always thought programming was a science, but actually it's magic!
@Jojo: then I will use Ctrl+1 or Ctrl+Shift+1 until then. Of course I didn't try all possible shortcuts, but this one is even offered in the enter shortcut sequence-popup 😉
The chosen shortcut is surely character-bound not key-bound i.e. with an English keyboard layout Ctrl+( should not work either. At least that would be my assumption. My German "Ctrl+Shift+8" was a bit misleading.
In any case, there must be some reason for this problem (unless there really is magic involved).
@Marc: but there was a time when Ctrl+( worked. If there was a conflict with an existing one, then MuseScore should have grumbled after all. Or do you mean a system-wide shortcut, as if I wanted to use, say, the Windows key+S, which is blocked by Windows itself?
It's not magic, but there are lots of variables involved that we don't know the values of. It could be a new default shortcut was added for your particular keyboard layout since the previous version, or you might have added that yourself for all I know, or it could be that an update to the keyboard device driver or different environment variable settings causes different key codes to be transmitted, could be lots and lots of different things. The mere fact that different people see different things when they tyre Shift+8 - and for some people, they need to press Shift just to get an 8 - it all the evidence one should need to understand that this is much more complicated than one might originally assume if a program only needed to run on one OS with one keyboard layout.
Anyhow, bottom line: one needs to accept that certain keycode combinations don't get recognized the way one might hope, so if one doesn't work for whatever reason, try another. There usually aren't that many that don't work on any given system.
In reply to It's not magic, but there… by Marc Sabatella
The "magic" comment was of course just a touch of humor.
Living in the middle of Europe, I am already aware how many layouts exist and how complicated partly the function of individual keys are, especially the diacritics, accents, etc. (for example in French (á), for which first the accent and then the vowel is pressed).
Then there are the shortcuts occupied by the various OS or other background applications (e.g. Evernote).
I was just puzzled that my shortcut once did work, and I was unlucky not to find a suitable one when trying it out, therefore also the wrong assumption that no more shortcuts can be added for "Beam start".
Maybe it would be good to add a hint in the dialog box "Enter Shortcut Sequence" to avoid such issue reports or at least keep the number small. Possibly something like this:
You can certainly formulate this in a shorter way.
The number of such complaints already is small, so I don't know that adding more text to the dialog will have much of an impact. But feel free to submit a pull request with a suggested change!
I suspect the shortcut system is likely being rewritten for MuseScore 4, though, and almost certainly this dialog will be, plus it will be a whole new version of Qt which will also change much. So probably better to wait to see on that a bit.
Might not be related but what I've observed is that some of the default shortcut sequences don't work as expected for me on Windows 10 - e.g. the shortcut sequence for add a treble clef is Ctrl+Y,Ctrl+1. But for me that doesn't work if the Redo command is enabled, because it captures the Ctrl+Y, and Ctrl+1 is considered a separate keystroke.
In fact there's 4 default sequences starting with Ctrl+Y and they all have the same problem.
FWIW Ctrl+Shift+8 works fine for me but I wouldn't expect it to show as "Ctrl+*" in the dialog (esp. when using other keyboard layouts Shift+* might not be * at all).
Works for me though
In reply to Works for me thiough by Jojo-Schmitz
Can't see how, unless you've remapped the Ctrl+Y for Redo shortcut. Note in MU4 it doesn't work at all, I'll report that in github though.
Ctrl+Y works for redo after you released both keys. If you keep Ctrl pressed, the following keys do not trigger the redo. Not for me at least, Windows 10 Pro
In reply to Ctrl+Y works for redo after… by Jojo-Schmitz
Just pressing Y immediately triggers the redo for me, surprised it would be different between two Windows systems. At any rate, as long as when it's implemented for MU4 it works for everyone.
In reply to Ctrl+Y works for redo after… by Jojo-Schmitz
https://musescore.org/en/node/308356 shows it's not just me though.
Ah, I see why (sort of): I'm using a QWERTZ keyboard, Z and Y are swapped there vs a QWERTY one. Here Ctrl+Z triggers redo, even with Ctrl+Y being listed in the shortcuts for that.