musescore / MuseScore

MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!
https://musescore.org
Other
11.8k stars 2.56k forks source link

Custom hotkey: problematic "shift" modifier #22743

Open ShibuyaCyana opened 1 month ago

ShibuyaCyana commented 1 month ago

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.

bkunda commented 1 month ago

@Eism not sure if this is in any related to the work you are doing re: the AZERTY keyboard problem. FYI.

avvvvve commented 1 month ago

Related/possible dupes:

cbjeukendrup commented 1 month ago

And