microsoft / microsoft/PowerToys
Allow remapping to second-level keys
- Dominant language
- C
- Stars
- 139k
- Forks
- 8.6k
- PR merge metrics
- PR metrics pending
Description
### Description of the new feature / enhancement
To access some symbols, multiple keys need to be pressed on the keyboard at the same time (e. g. `Shift` + `1` to produce `!`; `Shift` + `0` to produce `=`).
However, not all programmers are aware of different (non-US) keyboard layouts. For example, in [PowerPoint](https://support.microsoft.com/en-us/office/format-text-as-superscript-or-subscript-e989637a-12ec-4fe5-8b04-345342408abd), you are supposed to press `Ctrl` + `=` at the same time to toggle _subscript_. On many European keyboards (German QWERTZ layout, Yugoslavian layout and others), such combinations cannot be pressed as the keyboard lacks the `=` key. The equality symbol `=` is only accessible in the second level, i. e. `Shift` + `0`, which invalidates the shortcut.
This requests asks for ability to remap a key into a second-level one (so I would not need to press modifier keys to get to the `=` symbol) and use it in shortcuts. This would allow me to use keyboard shortcuts in US-oriented software.
### Scenario when this would be used?
I could finally set text to subscript in PowerPoint with a keyboard shortcut!
### Supporting information
Different countries use different keyboard layouts, where different keys require a modifier: https://en.wikipedia.org/wiki/Keyboard_layout#QWERTZ
Note that remapping a key to `Text output: =` does not work here, because PowerPoint does not catch the produced `=` as a key to use in shortcuts, but as a text to be inserted.
Contributor guide
Research direction
The issue names no files or tests; begin by locating PowerToys' Keyboard Manager remapping and shortcut-handling entry points. Confirm how second-level symbols differ from text output, then define completion as assigning such a symbol as a shortcut key and using it successfully with a non-US keyboard layout in PowerPoint.
Written by the indexing model from the issue text.
Assessment
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100