Incorrect |code| for key events on Linux French keyboard. |
|||
Issue descriptionVersion: 49.0.2623.87 (64-bit) OS: Linux What steps will reproduce the problem? (1) Linux with French 102 keyboard and French locale. (2) Go to Keyboard Event Manual Test page for French: https://cdn.rawgit.com/w3c/uievents/gh-pages/tests/key-mtest-102fr-fr.html (3) Click "Show Options" (4) Make sure only 'keydown' is selected for 'Events' (5) Make sure only 'code' is selected for 'Attributes' (6) Start test Press the keys as they are highlighted. Note that the '^' key (near the end of the 2nd row) is skipped because it is a dead key. Use 'Esc' to skip keys (like 'Meta') that are trapped by the OS. What is the expected output? All keys pass and turn green. What do you see instead? The '*' key (2nd to last on 3rd row) produces the wrong |code|: It produces 'Backslash' instead of the correct 'IntlHash'.
,
Apr 5 2016
'Backslash' is the key above Return on keyboards that have a “wide” Return key (ISO9995 position D13 == USB 07:0031 "Keyboard \ and |"). 'IntlHash' is the key left of Return on keyboards that have a “tall” Return key (ISO9995 position C12 == USB 07:0032 "Keyboard Non-US # and ~"). The Linux kernel squashes both down to the same evdev code, KEY_BACKSLASH, so we can't tell them apart. See e.g. http://lxr.free-electrons.com/source/drivers/hid/hid-input.c#L43 Judging by the comment in keycode_converter_data.inc at https://code.google.com/p/chromium/codesearch#chromium/src/ui/events/keycodes/dom/keycode_converter_data.inc&l=181 both Windows and OS X do likewise. Basically, it's an OS problem, and there's nothing Chrome can do about it.
,
Apr 5 2016
OK. It actually then becomes a spec bug. That comment was written with the assumption that the browser would be able to distinguish between 'IntlHash' and 'Backslash'. But if the browser cannot reasonably distinguish between them, then it sounds like we need to remove 'IntlHash' from the UI Event spec and always return 'Backslash' for both of these keys.
,
Apr 5 2016
I have removed IntlHash from the latest ED of the UI Events spec: https://w3c.github.io/uievents-code/
,
Jun 21 2016
|
|||
►
Sign in to add a comment |
|||
Comment 1 by dtapu...@chromium.org
, Apr 5 2016