musescore / musescore/MuseScore
Reduce using qt private classes: QKeyMapper
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 15.1k
- Forks
- 3.3k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 91
Description
Your idea
We use the private class QKeyMapper for navigation using symbols in the menu for Windows and Linux. This approach can lead to backward compatibility issues, for example here and here
QKeyMapper is needed to solve the case when the user has switched the keyboard layout to a non-English one and is trying to navigate. A similar problem was solved for shortcuts in MacOS and QKeyMapper was used there before, there too, a decision was made to abandon QKeyMapper - to use native platform tools to solve the problem of translating symbols between layouts.
Most likely, we need to create a KeyMapper class and implement it for all platforms.
Problem to be solved
Reduced using qt private classes
Prior art
No response
Additional context
No response
Checklist
- This request follows the guidelines for reporting issues
- I have verified that this feature request has not been logged before, by searching the issue tracker for similar requests
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.
Research direction
Start by locating the code that uses Qt's private QKeyMapper for menu navigation on Windows and Linux, then review how the existing macOS shortcut handling replaced it with native platform tools. Done means reducing the QKeyMapper dependency through a KeyMapper implementation for all relevant platforms while preserving navigation across keyboard layouts.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100