Some custom shortcuts no longer work in Windows 10, MuseScore 3.x

• Feb 16, 2021 - 10:56
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

Title Beam start custom shortcut no longer works under Windows (20H2, MS 3.6) Some custom shortcuts no longer work in Windows 10, MuseScore 3.x
Reported version 3.6 3.3
Workaround No Yes

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.

In reply to 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 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:
image843.png
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).

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

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.