In the dlg box for entering shortcut key sequences, since commit 2ab813d69f shortcut states are no longer taken into account.
This leads to detect non-existent conflicts between shortcuts having non-overlapping states and to rejecting legitimate key sequences.
Apparently, this has been changed because, with shortcuts for plugins, conflicts were never detected because plugin shortcuts have no state defined.
Fixed by:
- setting plugin shortcut states to all (well, to all existent states)
- re-enabling the state check in `ShortcutCaptureDialog::keyPress()`.
1) Assign each shorcut to the appropriate widget
2) Change focus policy for all docked windows so that the scoretab doesn't loose focus
unless it's necessary. (except MuseScore Connect window)
For full understanding see this discussion thread:
http://dev-list.musescore.org/Keyboard-usability-and-accessibility-tt7578844.html
modified: mscore/accessibletoolbutton.cpp
modified: mscore/actions.cpp
modified: mscore/data/shortcuts.xml
modified: mscore/globals.h
modified: mscore/inspector/inspector.cpp
modified: mscore/musescore.cpp
modified: mscore/palettebox.cpp
modified: mscore/scoretab.cpp
modified: mscore/scoretab.h
modified: mscore/shortcut.cpp
modified: mscore/shortcut.h
modified: mscore/webpage.cpp
Fixed by blocking the creation (and pooling) of QAction creation for shortcuts with multiple alternatives in different states (like the 'common' and TAB-specific variants of "pad-note-..." shortcuts)
A rather detailed description of the implementation (regarding both the original, faulty, implementation and this fix) has been added to the mscore/shortcut.h file