Repository navigation
[Keyboard] Analyze keyboard layout and enforce mandatory logical keys #100456
Copy link
Copy link
Open
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work lista: desktopRunning on desktopRunning on desktopa: text inputEntering text in a text field or keyboard related problemsEntering text in a text field or keyboard related problemsfyi-linuxFor the attention of the Linux platform teamFor the attention of the Linux platform teamfyi-windowsFor the attention of the Windows platform teamFor the attention of the Windows platform teamplatform-linuxBuilding on or for Linux specificallyBuilding on or for Linux specificallyplatform-macosBuilding on or for macOS specificallyBuilding on or for macOS specificallyplatform-webWeb applications specificallyWeb applications specificallyteam-text-inputOwned by Text Input teamOwned by Text Input team
Description
Activity
- addeda: text inputEntering text in a text field or keyboard related problemsEntering text in a text field or keyboard related problemsplatform-macosBuilding on or for macOS specificallyBuilding on or for macOS specificallyplatform-webWeb applications specificallyWeb applications specificallyplatform-linuxBuilding on or for Linux specificallyBuilding on or for Linux specificallya: desktopRunning on desktopRunning on desktopP2Important issues not at the top of the work listImportant issues not at the top of the work list
on Mar 21, 2022 - addedfyi-macosFor the attention of macOS platform teamFor the attention of macOS platform teamfyi-windowsFor the attention of the Windows platform teamFor the attention of the Windows platform teamfyi-linuxFor the attention of the Linux platform teamFor the attention of the Linux platform teamteam-text-inputOwned by Text Input teamOwned by Text Input teamand removed
on Jun 5, 2024 The
triaged-desktoplabel is irrelevant if there is noteam-desktoplabel orfyi-desktoplabel.Reacted by Caribou (lraymond)- addedtriaged-macosTriaged by the macOS platform teamTriaged by the macOS platform team
on Aug 21, 2024 - removedfyi-macosFor the attention of macOS platform teamFor the attention of macOS platform teamtriaged-macosTriaged by the macOS platform teamTriaged by the macOS platform team
on Aug 21, 2024
Metadata
Metadata
Assignees
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work lista: desktopRunning on desktopRunning on desktopa: text inputEntering text in a text field or keyboard related problemsEntering text in a text field or keyboard related problemsfyi-linuxFor the attention of the Linux platform teamFor the attention of the Linux platform teamfyi-windowsFor the attention of the Windows platform teamFor the attention of the Windows platform teamplatform-linuxBuilding on or for Linux specificallyBuilding on or for Linux specificallyplatform-macosBuilding on or for macOS specificallyBuilding on or for macOS specificallyplatform-webWeb applications specificallyWeb applications specificallyteam-text-inputOwned by Text Input teamOwned by Text Input team
We should change the algorithm of deriving logical keys on Web, macOS, and Linus, so that they're more intuitive to use.
This aims to resolve the following problems:
Shift-Digit1produces logicalShiftLeft + exclamation. Related:Digit1produces logicalampersand.keyAproduces logicalф. Related:Although it is still technically possible to define shortcuts for such scenarios, doing so requires platform- and language- dependent code, which is both unintuitive and cumbersome.
The goal can be demonstrated by the following table:
digit1digit1(unchanged)shiftLeft + exclamationshiftLeft + digit1ampersanddigit1shiftLeft + digit1shiftLeft + digit1(unchanged)фkeyAThis is specially critical to non-latin layout users (such as Cyrillic letters) because their keyboard currently can not use any shortcuts, including Ctrl-C, Ctrl-V, Ctrl-A, etc.
You might ask: Then how do I know that
Shift-1is an exclamation mark? Fear not. You can still get it from{Raw,}KeyEvent.character. However, this means you can not define shortcuts forShift-exclamationor simplyexclamationfor US layout anymore. This might be resolved by adding another field to{Raw,}KeyEvent, but I'm still unsure whether to do so.Progress