musescore / musescore/MuseScore

Custom hotkey: problematic "shift" modifier

Open
#22,743 2 comments 0 reactions 1 assignee View on GitHub

@Eism is already working on this.

Since May 10, 2024.

P1 UX/interaction
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:

  1. 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.
  2. User defined hotkeys are always using the top char form, unless editing .xml files;
  3. 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":

  1. [0:00 - 0:12] Try binding it to shift + up, text only shows 'up' with no shift. Back to score, shift + up still works as extending selection, and up itself still works as pitching up a semitone.
    • it won't work with up or shift + up anyway, even after I delete every hotkey bound to up and shift+up (not shown in video).
    • rebind it to up without pressing shift will make it work (not shown in video).
  2. [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.
  3. [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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.