Closed
Bug 1263302
Opened 8 years ago
Closed 7 years ago
[UI Events-code] Incorrect |code| for key events on Mac French/UK/Swedish (102) keyboard.
Categories
(Core :: Widget: Cocoa, defect, P2)
Tracking
()
RESOLVED
FIXED
mozilla54
Tracking | Status | |
---|---|---|
firefox54 | --- | fixed |
People
(Reporter: garykac, Assigned: masayuki)
References
(Blocks 1 open bug)
Details
(Whiteboard: [tpi:+][tpi-help-requested])
Attachments
(1 file)
User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36 Steps to reproduce: Setup: Mac with with ISO 102 keyboard and French locale. Keyboard should be set up as ISO. (1) Go to Keyboard Event Test page: https://cdn.rawgit.com/w3c/uievents/gh-pages/tools/key-event-viewer.html (2) Type the following keys: * Key to left of Digit1 * Key between ShiftLeft and KeyZ Alternately: (1) Go to Keyboard Event Manual Test page for French: https://cdn.rawgit.com/w3c/uievents/gh-pages/tests/key-mtest-102fr-fr.html (2) Click "Show Options" (3) Make sure only 'keydown' is selected for 'Events' (4) Make sure only 'code' is selected for 'Attributes' (5) 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. Actual results: The following 3 keys produce incorrect |code| values: Correct |code| Char Actual |code| Location Backquote ² IntlBackslash Left of Digit1 IntlBackslash < Backquote Betwixt ShiftLeft and KeyZ This same problem (incorrect |code| values) also occurs for UK and Swedish locales. Probably for other Euro locales as well. Expected results: Correct |code| value for these keys. Note: corresponding Chromium bug: https://crbug.com/600607 Bug does not occur is keyboard is set up as ANSI or JIS.
Ignore the UserAgent line in the bug description. This bug is for Firefox 45.0.1.
Assignee | ||
Comment 2•8 years ago
|
||
Thank you garykac, for your report (and long time no see!). It sounds like OS X sends odd keyCode for 102 keyboard. Current code value on Mac is simply mapped from *virtual keycode* since OS X doesn't provide scancode (sigh). > Backquote ² IntlBackslash Left of Digit1 The VK must be kVK_ISO_Section. > IntlBackslash < Backquote Betwixt ShiftLeft and KeyZ The VK must be kVK_ANSI_Grave. We should check GetKbdType() when 102 keyboard is active and need to do special handling for these keys. (I don't know the return value of it because the result value isn't documented.) BTW, you said "The following 3 keys produce incorrect |code| values:". Is this a typo? you listed up only 2 keys. But you listed 3 keys in the chromium issue: > IntlHash * Backslash Right of Quote But "IntlHash" shouldn't be used anymore: https://github.com/w3c/uievents-code/issues/9
Component: Event Handling → Widget: Cocoa
OS: Unspecified → Mac OS X
Hardware: Unspecified → All
Assignee | ||
Comment 3•8 years ago
|
||
>
> Comment 3 by garykac@chromium.org, Apr 5 (3 days ago)
>
> Because major OS's (Linux, Mac, Win) do not make it easy to distinguish between 'Backslash' and 'IntlHash', the UI Events spec has been updated to remove 'IntlHash': https://w3c.github.io/uievents-code/
>
> So only the 'Backquote' and 'IntlBackslash' keys are incorrect.
>
Oh, I find this comment in the issue for Chromium. Okay, only the two keys are problem.
Oops! Sorry about that. I tried to cleanup the description and failed. :-(
Assignee | ||
Updated•8 years ago
|
Summary: Incorrect |code| for key events on Mac French/UK/Swedish (102) keyboard. → [UIEvents-code] Incorrect |code| for key events on Mac French/UK/Swedish (102) keyboard.
Assignee | ||
Updated•8 years ago
|
Summary: [UIEvents-code] Incorrect |code| for key events on Mac French/UK/Swedish (102) keyboard. → [UI Events-code] Incorrect |code| for key events on Mac French/UK/Swedish (102) keyboard.
Updated•8 years ago
|
Status: UNCONFIRMED → NEW
Ever confirmed: true
Priority: -- → P2
Whiteboard: tpi:+
Updated•7 years ago
|
Whiteboard: tpi:+ → [tpi:+][tpi-help-requested]
Assignee | ||
Comment 5•7 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=5722c798d06a
Assignee | ||
Updated•7 years ago
|
Assignee: nobody → masayuki
Status: NEW → ASSIGNED
Comment hidden (mozreview-request) |
Comment 7•7 years ago
|
||
mozreview-review |
Comment on attachment 8841958 [details] Bug 1263302 Swap kVK_ISO_Section and kVK_ANSI_Grave key code values of ISO keyboard at computing KeyboardEvent.code value because macOS sends them as swapped https://reviewboard.mozilla.org/r/116012/#review117660
Attachment #8841958 -
Flags: review?(m_kato) → review+
Pushed by masayuki@d-toybox.com: https://hg.mozilla.org/integration/autoland/rev/51b368d536a3 Swap kVK_ISO_Section and kVK_ANSI_Grave key code values of ISO keyboard at computing KeyboardEvent.code value because macOS sends them as swapped r=m_kato
Comment 9•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/51b368d536a3
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
status-firefox54:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla54
You need to log in
before you can comment on or make changes to this bug.
Description
•