| Summary: | Incorrect IntlBackslash/Backquote for ISO keyboards on macOS | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Pierre Ossman <ossman> |
| Component: | UI Events | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW --- | ||
| Severity: | Normal | CC: | ap, webkit-bug-importer, wenson_hsieh |
| Priority: | P2 | Keywords: | InRadar |
| Version: | Safari 15 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
|
Description
Pierre Ossman
2022-08-22 08:03:29 PDT
You can easily test the behaviour here: https://dvcs.w3.org/hg/d4e/raw-file/tip/key-event-test.html Thank you for the report. Can you share steps to reproduce the issue? It is not obvious to me what "correct physical keys" refers to, as ISO and ANSI keyboards are physically different. Go to the above site and press the top left key (left of "1"). On all layouts, this should produce an event with "code" set to "Backquote". This currently works for ANSI layouts (and JIS?), but not ISO layouts. On ISO layouts, there is an extra key between the left shift and the first character key (usually "Z"). Pressing this key should produce an event with "code" set to "IntlBackslash", but currently does not. The key to the left of "1" on ISO keyboards is NOT the backquote, so I don't understand why you are saying that it should produce the "Backquote" code. Same with the key to the right of Shift, it's not any kind of backslash. So I'm still confused about what the user observable issue is, and why it's a WebKit bug. This is about the "code" field, not "key". So the generated symbol isn't terribly interesting. How the events for these keys should look like is already well established. The standard¹ even has pictures. And every other browser follows it, so it's fairly clear that Safari/WebKit is doing things incorrectly. ¹ https://www.w3.org/TR/uievents-code/#key-alphanumeric-writing-system https://www.w3.org/TR/uievents-code/#keyboard-102 As for practical effects, it only affects pages that care about physical keys, rather than symbols. So likely games and remote desktop clients. Which is why we're filing this report. If you press these keys in noVNC, the wrong key is sent to the server, and the wrong symbol is generated in the remote session. E.g. you get a "<" instead of a "§" on a Swedish keyboard. |