musescore / musescore/MuseScore
Custom hotkey: problematic "shift" modifier
@Eism is already working on this.
Since May 10, 2024.
- Dominant language
- C++
- Stars
- 15.1k
- Forks
- 3.3k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 91
Description
Issue type
UX/Interaction bug (incorrect behaviour)
Bug description
Some keys on computer keyboard has two characters on them, I'll just call them "stacked keys" here for convenience, and use "top character" or "bottom character" to describe.
So combining it with shift key, we have following troubles:
- Default hotkey mapping describes shift + stacked key shortcut in two different forms:
- Form 1: shift with bottom char, like
Shift + ., which is most commonly used; - Form 2: top char only, like
+, for only a few shortcuts.
- Form 1: shift with bottom char, like
- User defined hotkeys are always using the top char form, unless editing .xml files;
- The two different forms for the same input can co-exist and cause problems.
Steps to reproduce
Problems demonstrated in video, using action "add accent":
- [0:00 - 0:12] Try binding it to
shift + up, text only shows 'up' with no shift. Back to score,shift + upstill works as extending selection, andupitself still works as pitching up a semitone.- it won't work with
uporshift + upanyway, even after I delete every hotkey bound toupandshift+up(not shown in video). - rebind it to
upwithout pressing shift will make it work (not shown in video).
- it won't work with
- [0:16 - 0:25] Try binding it to
shift + ., which is conflict with "add crescendo" by default. Text shows ">" in form 2, but since "add crescendo" is represented in form 1, there's no conflict warning, and neither "add accent" nor "add crescendo" works now. - [0:33 - 0:44] Try binding it to
shift + =, which is conflict with "toggle sharp accident" by default. Both in form 2, so reassign warning is shown, and hotkey is properly reassigned.
Screenshots/Screen recordings
https://github.com/musescore/MuseScore/assets/39703247/4a733811-0fb3-4359-ad70-c76b0104901b
MuseScore Version
4.3.0
Regression
I don't know
Operating system
Windows 11 Pro, 22H2
Additional context
Default setting is binding multiple actions with up, and another binding to up key won't trigger conflict warning anyway.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.