Shortcut Management and Shortcut Lists

Posted 7 years ago

The main focus of my summer project for MuseScore is shortcut management. MuseScore is used by a vast array of users who use different operating systems, input languages and keyboard layouts. As a result, in many cases, there are conflicts in the default keyboard shortcuts. With a shortcut management system, I aim to resolve these conflicts. The basic idea of the shortcut management system is detecting the user’s keyboard layout and then appropriately loading a list of default keyboard shortcuts to avoid any conflicts. This means that different keyboard layouts will have different lists of keyboard shortcuts. The software now runs a startup wizard that asks users to input their keyboard layouts and then automatically chooses the required shortcut list. There is also a new functionality to save and load shortcut lists where users can customize their shortcuts in the preferences menu and save these customizations as xml files on their computer. It is therefore easy to create custom shortcut lists. Subsequently, they can load these files as they please. All these features will eliminate keyboard shortcut conflicts.

The main developer challenge lies in creating shortcut lists for different keyboard layouts and operating systems. Presently, different shortcut lists are maintained for Mac and Windows systems. Therefore, each shortcut list for a particular keyboard layout will have multiple versions depending on the OS. It is nearly impossible for a developer to create shortcut lists that cover all possible conflicts for different keyboard layouts. It is with this in mind, that I request the MuseScore community to contribute shortcut lists for different keyboard layouts.

If you use a keyboard layout which is not US QWERTY, follow the following steps
1. Download recent nightly {link}
2. Customize shortcuts in Preferences > Shortcuts
3. Save the shortcut file and attached it in a comment on this forum post: (https://musescore.org/en/node/232451)
4. List the changes you made, your language, OS, and keyboard layout in the same comment