New issue
Advanced search Search tips

Issue 919271 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 921202
Owner: ----
Closed: Jan 14
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Keyboard layout is wrong (the translation happens twice)

Project Member Reported by michae...@chromium.org, Jan 5

Issue description

Chrome Version: 73.0.3662.0
OS: 11525.0.0 (kevin)

What steps will reproduce the problem?
(1) Add Dvorak in chrome://settings/inputMethods
(1) Switch to Dvorak in the system tray
(2) Type something in Dvorak

Expected: The keyboard keys "asdf" type out "aoeu"

Actual: The keyboard keys "asdf" type out "ar.g"

Meaning that the translation from physical key to logical key is happening twice:

a => a => a
s => o => r
d => e => .
f => u => g

This only applies to text input. Keyboard shortcuts (like Ctrl+T for a new tab) work correctly (Ctrl+K on the physical keyboard corresponds to Ctrl+T).

Key map: https://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard#/media/File:KB_United_States_Dvorak.svg
 
Cc: kpschoedel@chromium.org
Labels: ReleaseBlock-Beta
Cc: dtapu...@chromium.org shuchen@chromium.org
Trying the above in https://dvcs.w3.org/hg/d4e/raw-file/tip/key-event-test.html may provide useful information.

With the caveat that this bug proves my knowledge is outdated, what's supposed to happen is this:

Under //ui/events, the keyboard layout maps a physical keyboard key (“DOM3 code” in the above tester, ui::KeyEvent::code_ in chromium) to a layout-specific interpretation. The interpretation contains both modern standard (“DOM3 key”, ui::KeyEvent::key_) and legacy (“keyCode”, ui::KeyEvent::key_code_ aka VKEY) components. 

These are strongly typed in chromium and have incompatible representations (ui::DomCode is roughly the USB layer code, vs ui::DomKey is roughly the Unicode code point) so there's no way this can happen twice by accident.

Shortcuts use the legacy value (“keyCode”, ui::KeyEvent::key_code_) and it appears this is unaffected.

The ui::KeyEvent is used by IME and/or Blink layers to generate text. I don't know those at all. CC-ing more people who can help find someone to triage.
I flashed 11525.0.0 on my kevin device and cannot repro this issue.
Note that 11525.0.0 has Chrome Version: 73.0.3654.0 instead of 73.0.3662.0.
I am flashing my kevin device to 11534.0.0 which has 73.0.3662.0 to repro this...
Not repro on 11534.0.0,73.0.3662.0.
Mergedinto: 921202
Status: Duplicate (was: Untriaged)


Sign in to add a comment