Open Bug 1232918 Opened 4 years ago Updated 28 days ago

[UI Events-key] Windows logo key on Windows and Linux should be treated as "Meta" key

Categories

(Core :: DOM: Events, defect, P5)

defect

Tracking

()

ASSIGNED

People

(Reporter: masayuki, Assigned: masayuki)

References

(Blocks 2 open bugs, )

Details

(Keywords: dev-doc-needed, parity-chrome, parity-edge)

At TPAC 2015, we agreed with that we should drop "OS" key which is used only on Windows. Instead of that, any browsers haven't activate "Meta" modifier key state on Windows. Therefore, "OS" key should be replaced by "Meta" key on Windows.
Whiteboard: [parity-Chrome]
Summary: [UI Events] Drop "OS" key value and Windows logo key on Windows should be "Meta" key → [UI Events-key] Drop "OS" key value and Windows logo key on Windows should be "Meta" key
Hmm, Linux also uses "OS" for "Super" for now and Chrome maps "Super" to "Meta" (https://bugs.chromium.org/p/chromium/issues/detail?id=613152) but this is really breaking the definition of the Spec. Until the issue 613152 is fixed, we shouldn't touch the Linux implementation. So, we should change "OS" on Windows to "Meta" for now.
Summary: [UI Events-key] Drop "OS" key value and Windows logo key on Windows should be "Meta" key → [UI Events-key] Windows logo key on Windows should be "Meta" key
Duplicate of this bug: 1276460
Mass bug change to replace various 'parity' whiteboard flags with the new canonical keywords. (See bug 1443764 comment 13.)
Keywords: parity-chrome
Whiteboard: [parity-Chrome]
Priority: -- → P5
All other browsers set KeyboardEvent.key value of Windows Logo keys to "Meta". For compatibility with them, we should do:

1. Map VK_LWIN and VK_RWIN to "Meta" on Windows (Currently mapped to "OS").
2. Map GDK_Super_L, GDK_Super_R, GDK_Hyper_L and GDK_Hyper_R to "Meta" (Currently mapped to "OS").
3. Adjust modifier state for the new key value.
4. Get rid of "OS" from key and code values completely.

And perhaps, on Linux, we should use unmodified modifier key value to decide KeyboardEvent.key value because Alt+Shift is mapped to Meta key by most distributions. Therefore, we set key value of Alt+Shift to "Meta", but Chromium simply sets "Alt". On the other hand, Meta key may be mapped to Windows Logo key separately, with GNOME Tweaks. This means that some users may use such key mapping. Even in such case, I hope AltLeft/AltRight key should cause "Alt", OSLeft/OSRight should cause "Meta". So, perhaps, we should keep mapping GDK_Meta_L and GDK_Meta_R to "Meta", but ignore at mapping to Alt+Shift.
Keywords: parity-edge
Summary: [UI Events-key] Windows logo key on Windows should be "Meta" key → [UI Events-key] Windows logo key on Windows and Linux should be treated as "Meta" key

We would very much like to avoid "Meta" being used for two different keys to keep things sane in noVNC. For us it would work fine to say "Alt" even if the system is reporting XK_Meta_*.

For reference, but report with Chrome about them using the same name for two different keys:

https://bugs.chromium.org/p/chromium/issues/detail?id=1020141

Duplicate of this bug: 1595863
You need to log in before you can comment on or make changes to this bug.