OSK: [Xorg] Unable to type capital letters
As originally filed at https://bugzilla.gnome.org/show_bug.cgi?id=790104, there is a bug somewhere in GNOME which makes it impossible to type capital letters with the onscreen keyboard (OSK) in an Xorg session. Other keys which require the use of the Shift key are also affected. For example, trying to type "Hello World!" results in "hello world1" being produced instead.
This bug can make it impossible to login/unlock, and makes using the desktop normally extremely difficult due to the inability to properly type.
It seems like gnome-shell commit aecd1c12 exposed this bug. The keyboard's "LocalAdapter" does not seem to be entirely compatible with Xorg. The problem disappears if the "Caribou.DisplayAdapter.set_default(new LocalAdapter())" line is not called. This line is necessary for the OSK to work under Wayland, however. I've attached a patch which restores the conditional calling of this line, making the keyboard work once again under both Xorg and Wayland. The source of the underlying issue with "LocalAdapter" is not yet known.
Original reproduction steps:
-
Launch a program where you can type text (gedit for example).
-
Activate on screen keyboard (by touching the screen, foe example).
-
Notice all the keys on the on screen keyboard display lowercase letters.
-
Begin typing. Lowercase characters are typed into the text area.
-
Tap on the Shift (up arrow at left side of on screen keyboard) key of the on screen keyboard.
-
Notice all the keys on the on screen keyboard now display capital letters.
-
Begin typing.
-
A lowercase character will be typed into the text area.
Patch to work around issue:
0001-keyboard-Use-LocalAdapter-only-under-a-Wayland-compo.patch