microsoft / microsoft/PowerToys
Allow mapping a key to a standalone CTRL output (needed for Surface Copilot key)
- Dominant language
- C
- Stars
- 139k
- Forks
- 8.6k
- PR merge metrics
- PR metrics pending
Description
### Description of the new feature / enhancement
I’m using a new Microsoft Surface device that includes the Copilot key. On this keyboard layout, there is no right‑side CTRL key, and I normally rely on having one in my daily workflow.
I tried remapping the Copilot key to CTRL only, but PowerToys currently doesn’t allow assigning a single modifier key as the final output. It requires selecting a full shortcut instead of letting CTRL be used on its own.
Feature request:
Please add support for mapping any key → a standalone CTRL key output (i.e., “press key → send CTRL down/up”).
Why this matters:
Some Surface keyboards no longer include a right CTRL key.
Users need the ability to restore missing modifier keys.
This would improve accessibility and productivity for many workflows.
Windows itself supports emitting modifier key events, but PowerToys blocks it at the UI level.
Expected behavior:
Selecting CTRL as the output should be allowed without requiring an additional key.
Pressing the remapped key should behave exactly like pressing a physical CTRL key.
Thanks for considering this — it would make the Copilot key far more useful for Surface users.
### Scenario when this would be used?
I would use this feature because my new Surface keyboard does not include a right‑side CTRL key. In my daily workflow, I rely heavily on having a CTRL key on both sides of the keyboard for shortcuts, text editing, and ergonomic reasons. Being able to remap the Copilot key to function as a standalone CTRL key would restore the layout I’m used to and allow me to work efficiently without changing long‑established habits.
This scenario applies to any user whose hardware layout is missing a modifier key, or who needs to reposition a modifier key for accessibility, comfort, or productivity.
### Supporting information
The Copilot key on newer Surface devices replaces the traditional right‑side CTRL key. PowerToys currently does not allow mapping a key to emit a standalone CTRL event, which prevents users from restoring the missing modifier key through software.
Windows itself supports sending modifier key down/up events, so this limitation appears to be specific to the PowerToys UI rather than a system‑level restriction. Allowing single‑modifier remapping would help users adapt to new hardware layouts and maintain established workflows.
Contributor guide
Research direction
Start by tracing the PowerToys Keyboard Manager remapping UI and the path that validates output shortcuts. Check how Windows modifier key down/up events are represented, then verify that selecting CTRL alone is accepted and that the remapped key behaves like a physical CTRL key.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- accessibility, desktop
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100