Open Bug 1626609 Opened 5 years ago Updated 1 year ago

Can not input character mapped to Super+key

Categories

(Core :: DOM: UI Events & Focus Handling, defect, P3)

74 Branch
defect

Tracking

()

UNCONFIRMED

People

(Reporter: hello, Unassigned)

Details

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0

Steps to reproduce:

I have a keyboard programmed using a software called QMK (qmk.fm). One of its features it to map the <~> (tilda) and <`> (backquote) keys to the <Esc> key with a combination of <Shift+Esc> and <Super+Esc> respectively. These key combinations are interpreted by the keyboard itself, not by the OS (more info: https://docs.qmk.fm/#/feature_grave_esc).

In Firefox 74.0 on Windows 10 and Fedora 31, the <`> (backquote) input is entirely ignored when I input <Super+Esc>, while it works in any other program (including other web browsers). This applies not only to input fields in web pages, but also to the address bar, search bar, Firefox settings...

Surprisingly, while using a web-based keyboard tester like https://config.qmk.fm/#/test in Firefox, I do see the <`> (backquote) character being correctly sent:


KEY-DOWN - QMK: KC_LGUI Event key: OS Code: OSLeft KeyCode: 91
KEY-DOWN - QMK: KC_GRV Event key: Code: Backquote KeyCode: 192 KEY-UP - QMK: KC_GRV Event key: Code: Backquote KeyCode: 192 in 82.000ms
KEY-UP - QMK: KC_LGUI Event key: OS Code: OSLeft KeyCode: 91 in 988.000ms

Actual results:

I can not input a character mapped to a combination of <Super+key>. In my case, <Super+Esc>, which my keyboard sends as <`> (backquote).

Expected results:

Inputs based on such key combination should not be dropped.

Sorry for the poor formatting. It should have been shown as

KEY-DOWN - QMK: KC_LGUI Event key: OS          Code: OSLeft        KeyCode: 91
KEY-DOWN - QMK: KC_GRV  Event key: `           Code: Backquote     KeyCode: 192
KEY-UP   - QMK: KC_GRV  Event key: `           Code: Backquote     KeyCode: 192 in 82.000ms
KEY-UP   - QMK: KC_LGUI Event key: OS          Code: OSLeft        KeyCode: 91 in 988.000ms

Bugbug thinks this bug should belong to this component, but please revert this change in case of error.

Component: Untriaged → DOM: Events
Product: Firefox → Core
Component: DOM: Events → DOM: UI Events & Focus Handling

Interestingly, if I maintain the <Esc> key pressed after releasing the <Super> key, I enter key repeat mode and this time the ` character is sent, repeatedly.

Example:

KEY-DOWN - QMK: KC_LGUI Event key: OS          Code: OSLeft        KeyCode: 91
KEY-DOWN - QMK: KC_GRV  Event key: `           Code: Backquote     KeyCode: 192
KEY-UP   - QMK: KC_LGUI Event key: OS          Code: OSLeft        KeyCode: 91 in 87.000ms
KEY-UP   - QMK: KC_GRV  Event key: `           Code: Backquote     KeyCode: 192 in 2449.000ms

The sequence above sends something like ```````````.

Priority: -- → P3

Because this bug's Severity has not been changed from the default since it was filed, and it's Priority is P3 (Backlog,) indicating it has been triaged, the bug's Severity is being updated to S3 (normal.)

Severity: normal → S3

I'd like to add some information to this topic. Any key combination with <Super> + <Key> that isn't handled by the desktop doesn't produce any characters in any input, but could be handled by the site's JS.
For example, <Super> + <Grave> will produce ` everywhere except Firefox. GitHub has a special action that backticks selected text when <Grave> is pressed, and it works fine when I press <Super> + <Grave> in Firefox.
Using all other keys when <Super> is pressed produces exactly the same result.

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