Bug 1755898 - numlock handling is seriously broken
Summary: numlock handling is seriously broken
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: gnome-shell
Version: 31
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Florian Müllner
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: AcceptedFreezeException AcceptedBlocker
Depends On:
Blocks: F31FinalBlocker, FinalBlocker F31FinalFreezeException, FinalFreezeException
TreeView+ depends on / blocked
 
Reported: 2019-09-26 12:28 UTC by Kamil Páral
Modified: 2019-10-10 18:27 UTC (History)
15 users (show)

Fixed In Version: gnome-shell-3.34.1-1.fc31
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-10-10 18:27:02 UTC


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
GNOME Gitlab GNOME/mutter/issues/714 None None None 2019-09-26 12:29:18 UTC
GNOME Gitlab GNOME/mutter/issues/769 None None None 2019-09-26 12:29:18 UTC

Description Kamil Páral 2019-09-26 12:28:47 UTC
Description of problem:
In GNOME 3.34, numlock handling is very messed up:

1. Numlock LED is inverted - when the LED is on, the numbers can't be written, when the LED is off, the number can be written. This is true for all apps (wayland and xwayland).
2. GNOME Shell overview has inverted numlock status from the rest of the system (apps). So if you can't type numbers into apps, you can write them in gnome-shell overview. And when you can type numbers into apps, you can't write them into gnome overview.
3. The issues above only happen if you boot with numlock on. If you boot with numlock off, it is actually working as intended, except... it's off. And once you enable it and reboot, you're in state 1) and 2).

This gets another layer of madness if you use virtual machines. If I boot F31 VM (using F30 host, which has no numlock problems itself), I can write numbers with numpad on on the host, but I can't write them in the VM. I have to hit numlock every time I switch between host and guest, if I want to use numpad to type numbers. Also, for some reason, point 3) doesn't apply to VMs, to make it more complicated.

Downstream reports:
https://gitlab.gnome.org/GNOME/mutter/issues/714
https://gitlab.gnome.org/GNOME/mutter/issues/769

Version-Release number of selected component (if applicable):
gnome-shell-3.34.0-2.fc31.x86_64
Wayland session

How reproducible:
always

Steps to Reproduce:
1. boot F31, log in (Wayland). Use a keyboard with numpad.
2. Try to type numpad numbers into gedit and into gnome overview. If everything works as expected (apps and overview behave the same, numlock LED reflects the state correctly), keep your numlock on and reboot. You should boot into a broken state.
3. Your numlock LED should no longer reflect the state when typing in apps, and gnome overview should have behavior inverted from apps.

Comment 1 Kamil Páral 2019-09-26 12:31:24 UTC
We don't have an exact criterion for this, but I guess we can consider whether common keyboards are expected to work properly in GNOME as a "basic functionality" or something. Proposing for discussion.

Comment 2 Geoffrey Marr 2019-09-30 23:14:51 UTC
Discussed during the 2019-09-30 blocker review meeting: [0]

The decision to delay the classification of this as a blocker bug and accepted it as an AcceptedFreezeException was made as there's some support for blocking on this but it really doesn't seem to violate any current criterion; we agreed to allow time to propose and discuss a new criterion. In the mean time it's accepted as an FE issue as a prominent bug that can't be fixed fully with an update

[0] https://meetbot.fedoraproject.org/fedora-blocker-review/2019-09-30/f31-blocker-review.2019-09-30-16.00.txt

Comment 3 Chris Murphy 2019-10-07 03:32:06 UTC
I think numeric keypad and numlock functionality constitutes basic functionality since like 1981. Plus per the description it's a regression so I'm +1 blocker.

Funny enough, I have a full size keyboard with a numeric keypad and no numlock key. By default it doesn't work on GNOME Shell, which I've always found odd, and have to figure out some libinput or other work around I forget at the moment. Therefore I can't test, but could someone with a numlock equipped keyboard check the last comment in the upstream mutter bug here, and report back findings (maybe in both bugs?)
https://gitlab.gnome.org/GNOME/mutter/issues/769#note_6104

Comment 4 Matthias Clasen 2019-10-07 16:12:21 UTC
numlock handling has been unreliable since forever

Comment 5 bick 2019-10-07 16:44:54 UTC
Here are my findings from the bug you linked, granted I am currently on Ubuntu 19.10 (but I also experienced the bug on Fedora 31 beta). This is just a copy of the text from my comment on the upstream issue that you linked.

I can confirm that numlock seems to work in GDM password field and doesn't work as expected in tty3 on Ubuntu 19.10 beta.  In tty3, the led was on, but numlock didn't work.  I pressed it once and the light remained on.  Another press and it went off and numbers didn't work.  Pressed it again and the light came on and numbers worked.  This is a bit different than what I experienced prior as numlock usually remains out of sync if I log in with Wayland AND the numlock led is on at login (i.e., led on == numbers off, led off == numbers on).

I would further note that in my previous testing X sessions do not seem to be affected.  I can consistently duplicate the following:

boot up my computer with the numlock LED on
log into a Wayland session and number keys won't work (led is still on)
log out and back into an x session and number keys will work (led is still on)
log out and back into Wayland session and number keys won't work (led is still on)

It seemed from my testing that under Wayland, the numlock functionality always starts off disabled.  This seems to be confirmed when I boot up my computer and make sure the led is off at login.  Then the numbers don't work.  Hitting the numlock key enables numlock functionality and turns the led on.  As stated above, when I login in to a Wayland session with the led on, functionality is still disabled, so the led light ends up being inverted, as a single press still enables the number keys.
Here is a link to the relevant bug on launchpad where I have commented and linked to the bug I filed: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1845031

Comment 6 Geoffrey Marr 2019-10-08 06:16:31 UTC
Discussed during the 2019-10-07 blocker review meeting: [0]

The decision to classify this bug as an "AcceptedBlocker" was made as per list and meeting discussion of bcotton's proposed criterion, we agree in principle to block on modifier key toggling working well and consistently throughout the system, but not on the light state being correct (as that is difficult to guarantee). Consequently, the 'shell and apps behave differently' portion of this is accepted.

[0] https://meetbot.fedoraproject.org/fedora-blocker-review/2019-10-07/f31-blocker-review.2019-10-07-16.02.txt

Comment 7 Fedora Update System 2019-10-09 08:34:48 UTC
FEDORA-2019-8f20f9e4e3 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-8f20f9e4e3

Comment 8 František Zatloukal 2019-10-09 12:50:29 UTC
I've tested this with FEDORA-2019-8f20f9e4e3.

It fixes the issue.

Comment 9 Fedora Update System 2019-10-09 23:05:27 UTC
accerciser-3.34.1-1.fc31, almanah-0.12.0-1.fc31, at-spi2-atk-2.34.1-1.fc31, eog-3.34.1-1.fc31, epiphany-3.34.1-1.fc31, evince-3.34.1-1.fc31, evolution-3.34.1-1.fc31, evolution-data-server-3.34.1-1.fc31, evolution-ews-3.34.1-1.fc31, evolution-mapi-3.34.1-1.fc31, four-in-a-row-3.34.1-1.fc31, gdk-pixbuf2-2.40.0-1.fc31, gdm-3.34.1-1.fc31, geary-3.34.1-2.fc31, gjs-1.58.1-1.fc31, glib-networking-2.62.1-1.fc31, glib2-2.62.1-1.fc31, gnome-2048-3.34.1-1.fc31, gnome-boxes-3.34.1-1.fc31, gnome-builder-3.34.1-1.fc31, gnome-calculator-3.34.1-1.fc31, gnome-calendar-3.34.1-1.fc31, gnome-control-center-3.34.1-3.fc31, gnome-desktop3-3.34.1-1.fc31, gnome-initial-setup-3.34.1-1.fc31, gnome-maps-3.34.1-1.fc31, gnome-session-3.34.1-2.fc31, gnome-shell-3.34.1-1.fc31, gnome-shell-extensions-3.34.1-1.fc31, gnome-software-3.34.1-1.fc31, gnome-taquin-3.34.1-1.fc31, gnome-terminal-3.34.1-1.fc31, gnome-tetravex-3.34.1-1.fc31, gpaste-3.34.1-1.fc31, gtk3-3.24.12-1.fc31, gvfs-1.42.1-1.fc31, iagno-3.34.1-1.fc31, libdazzle-3.34.1-1.fc31, libgweather-3.34.0-1.fc31, librsvg2-2.46.1-1.fc31, libsoup-2.68.2-1.fc31, mutter-3.34.1-1.fc31, nautilus-3.34.1-1.fc31, quadrapassel-3.34.1-1.fc31, simple-scan-3.34.1-1.fc31, sysprof-3.34.1-1.fc31, totem-3.34.1-1.fc31, vala-0.46.3-1.fc31, vte291-0.58.1-1.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-8f20f9e4e3

Comment 10 Fedora Update System 2019-10-10 18:27:02 UTC
accerciser-3.34.1-1.fc31, almanah-0.12.0-1.fc31, at-spi2-atk-2.34.1-1.fc31, eog-3.34.1-1.fc31, epiphany-3.34.1-1.fc31, evince-3.34.1-1.fc31, evolution-3.34.1-1.fc31, evolution-data-server-3.34.1-1.fc31, evolution-ews-3.34.1-1.fc31, evolution-mapi-3.34.1-1.fc31, four-in-a-row-3.34.1-1.fc31, gdk-pixbuf2-2.40.0-1.fc31, gdm-3.34.1-1.fc31, geary-3.34.1-2.fc31, gjs-1.58.1-1.fc31, glib-networking-2.62.1-1.fc31, glib2-2.62.1-1.fc31, gnome-2048-3.34.1-1.fc31, gnome-boxes-3.34.1-1.fc31, gnome-builder-3.34.1-1.fc31, gnome-calculator-3.34.1-1.fc31, gnome-calendar-3.34.1-1.fc31, gnome-control-center-3.34.1-3.fc31, gnome-desktop3-3.34.1-1.fc31, gnome-initial-setup-3.34.1-1.fc31, gnome-maps-3.34.1-1.fc31, gnome-session-3.34.1-2.fc31, gnome-shell-3.34.1-1.fc31, gnome-shell-extensions-3.34.1-1.fc31, gnome-software-3.34.1-1.fc31, gnome-taquin-3.34.1-1.fc31, gnome-terminal-3.34.1-1.fc31, gnome-tetravex-3.34.1-1.fc31, gpaste-3.34.1-1.fc31, gtk3-3.24.12-1.fc31, gvfs-1.42.1-1.fc31, iagno-3.34.1-1.fc31, libdazzle-3.34.1-1.fc31, libgweather-3.34.0-1.fc31, librsvg2-2.46.1-1.fc31, libsoup-2.68.2-1.fc31, mutter-3.34.1-1.fc31, nautilus-3.34.1-1.fc31, quadrapassel-3.34.1-1.fc31, simple-scan-3.34.1-1.fc31, sysprof-3.34.1-1.fc31, totem-3.34.1-1.fc31, vala-0.46.3-1.fc31, vte291-0.58.1-1.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.


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