microsoft / microsoft/PowerToys

[Keyboard Manager] Add CLI configuration and profile management

Open
#49,901 1 comment 0 reactions 0 assignees View on GitHub
Area-CLI Needs-Triage Product-Keyboard Manager
Dominant language
C
Stars
139k
Forks
8.6k
PR merge metrics
PR metrics pending

Description

### Description of the new feature / enhancement

Add a supported command-line interface for managing Keyboard Manager configurations and profiles.

Useful initial commands would include:

```console
powertoys keyboard-manager list
powertoys keyboard-manager export --output remaps.json
powertoys keyboard-manager import remaps.json
powertoys keyboard-manager activate
```

Import and activation should validate the configuration, report conflicts clearly, and notify the running Keyboard Manager instance to reload it. Machine-readable output and reliable exit codes should be supported for deployment tooling.

### Scenario when this would be used?

- Back up and restore remappings when moving to a new PC.
- Provision standard remappings through setup scripts, Intune, or other enterprise tooling.
- Switch between task-specific remapping profiles without editing each mapping manually.

### Supporting information

Related requests:

- #49508 requests deployment of a default configuration.
- #49486 requests Keyboard Manager profiles.
- #4649 tracks command-line access to PowerToys settings generally, but does not provide functional import, export, validation, or profile activation for Keyboard Manager.

Commands should follow `doc/devdocs/cli-conventions.md`.

Contributor guide

Open the contributing guide

Research direction

Read doc/devdocs/cli-conventions.md first, then trace the existing Keyboard Manager configuration and profile entry points. Define how list, export, import, and activate should validate configurations, report conflicts, notify the running manager, and expose machine-readable output with reliable exit codes.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
cli, desktop, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.