GNOME Bugzilla – Bug 762881
No indication that CAPS LOCK is pressed
Last modified: 2019-01-29 16:08:57 UTC
Today when I booted my Fedora Rawhide system I couldn't log in for some reason. I kept typing my password over and over again, but it didn't work for some reason. Then after a while I tested to press the caps lock key. It didn't show the regular caps lock-warning, but I had nothing else left to try. To my surprise, that did the trick! So it seems the login screen is unable to show the warning. This might be specific to running it on top of Wayland.
So this is because of this code I think: static void• keymap_state_changed (GdkKeymap *keymap,• gpointer user_data)• {• StEntry *entry = ST_ENTRY (user_data);• StEntryPrivate *priv = ST_ENTRY_PRIV (entry);• • if (clutter_text_get_password_char (CLUTTER_TEXT (priv->entry)) != 0)• {• if (gdk_keymap_get_caps_lock_state (keymap))• show_capslock_feedback (entry);• else• remove_capslock_feedback (entry);• }• }• We're asking gdk for capslock state but of course gnome-shell initializes gdk with the X11 backend.
*** Bug 775100 has been marked as a duplicate of this bug. ***
Any news about this one? I'm not sure I understand your last comment Ray
*** Bug 757082 has been marked as a duplicate of this bug. ***
Created attachment 374162 [details] [review] Patch working on wayland but breaking X11 So, someone asked in person about this, and I figured I would take a look. Out came the above patch. The patch seems to work fine on wayland, but breaks on X11. Now, I believe X11 breaks because of the patch from https://bugzilla.gnome.org/show_bug.cgi?id=690664 which, to be honest, seems rather odd to me. I have no idea how an application should check the caps lock state with the patch in, the information is generally masked out. And such masking does not seem to happen on wayland.
This is now fixed on mutter/gnome-shell master with https://gitlab.gnome.org/GNOME/gnome-shell/commit/95a31b0c319ee86d5b64d3115c62dcd324bd7138