microsoft / microsoft/PowerToys

Keyboard manager does not distinguish between both \ (backslash) keys

Open
#48,541 0 comments 0 reactions 0 assignees View on GitHub
Issue-Bug Needs-Triage Product-Keyboard Manager
Dominant language
C
Stars
139k
Forks
8.6k
PR merge metrics
PR metrics pending

Description

### Microsoft PowerToys version

0.100.0

### Installation method

PowerToys auto-update

### Area(s) with issue?

Keyboard Manager

### Steps to reproduce

1. Use an ISO keyboard with two \\ keys.
2. Add a new mapping.
3. Sample for the source key.
4. Press the left \\ (one to the right of the left shift).
5. Expand the key list to realize there are actually two separate `\` entries there.
6. Sample the destination key.
7. Press 1.
8. Save and keep the mapping enabled.
9. Open any text field and press the other \\ (to the left of return).

### ✔️ Expected Behavior

`\` is entered into a field, because
1. This is not a key that was mapped,
2. The interface even lists two separate `\` entries,
3. In the old remapping interface the separation is respected.

Additionally it would not hurt, if these keys were labeled distinctively, like `Shift (Left)` and `Shift (Right)` are currently.

### ❌ Actual Behavior

`1` is entered as if the other key was pressed.

### Upload Bug Report ZIP-file

_No response_

### Additional Information

In my particular case the keyboard is HP 320K.
This seems to be a regression, as these keys were distinguished in the old remap editor.

### Other Software

_No response_

Contributor guide

Open the contributing guide

Research direction

Start in Keyboard Manager's key-sampling and mapping-list entry points, reproducing the ISO keyboard case with its two backslash keys. Trace how the sampled source key is identified and how the mapping is applied. Done means mapping one backslash key does not affect the other, and the two entries can be distinguished in the interface.

Written by the indexing model from the issue text.

Assessment

Domain
desktop, operating-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.