Bug #16291

On-screen keyboard not displayed in the Greeter on Buster

Added by intrigeri 2019-01-05 16:10:22 . Updated 2019-04-05 10:56:39 .

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Accessibility
Target version:
Start date:
2019-01-05
Due date:
% Done:

100%

Feature Branch:
bugfix/16291-on-screen-keyboard-passwords
Type of work:
Code
Blueprint:

Starter:
Affected tool:
On-screen keyboard
Deliverable for:

Description

… while on current Debian sid, the on-screen keyboard works just fine in GDM’s password entry field. So there’s maybe a problem specific to our Greeter here, or perhaps we trim down a bit too much the GNOME packages list.


Subtasks


History

#1 Updated by intrigeri 2019-01-05 16:11:08

  • Description updated

#2 Updated by intrigeri 2019-01-05 16:14:49

  • Affected tool set to On-screen keyboard

#3 Updated by intrigeri 2019-01-05 16:20:09

  • Assignee deleted (intrigeri)

#4 Updated by alant 2019-04-03 10:15:31

  • Status changed from Confirmed to In Progress

#5 Updated by alant 2019-04-03 11:33:21

If I comment WaylandEnable=false in /etc/gdm3/daemon.conf (as it is in debian) the password fields in the greeter have a virtual keyboard.
But if I uncomment WaylandEnable=false in debian sid the password fields still have a working virtual keyboard (but the greeter in implemented inside the shell).

If I start a GNOME under Xorg session under debian sid, the virtual keyboard not always appear in GTK applications. It always appers inside the shell.
If I start a GNOME under wayland session under debian sid, the virtual keyboard is fully working in the same applications, as well as in the shell.

So I conculde there is a bug in GNOME virtual keyboard under Xorg

#6 Updated by alant 2019-04-03 14:40:01

I reported the issue upstream on https://gitlab.gnome.org/GNOME/gnome-shell/issues/1137

#7 Updated by alant 2019-04-03 15:08:04

In the greeter if I check “show passphrase” the keyboard is shown. I can reproduce this behaviour in the wifi configuration in Settings -> WiFi -> Visible Netwotrks -> Gear -> Security.

#8 Updated by alant 2019-04-03 17:27:20

To reproduce on debian buster one need to install ibus and ibus-gtk3 to make Screen Keyboard work under Xorg. caribou is not needed anymore and can be totally uninstalled with the screen keyboard still working.

#9 Updated by alant 2019-04-03 18:58:40

The issue comes from a bugfix in ibus (https://github.com/ibus/ibus/commit/cca4fd8993613a6993965c3120323e43c4647ef5):

    /* don't set focus on password entry */
    if (ibusimcontext->client_window != NULL) {
        GtkWidget *widget;

        gdk_window_get_user_data (ibusimcontext->client_window,
                                  (gpointer *)&widget);

        if (GTK_IS_ENTRY (widget) &&
            !gtk_entry_get_visibility (GTK_ENTRY (widget))) {
            return;
        }
    }

#10 Updated by alant 2019-04-03 21:33:42

  • Assignee set to intrigeri

I workaround reverting this commit should be ready on https://salsa.debian.org/alant-guest/ibus/commits/tails/buster. Please build!

#11 Updated by intrigeri 2019-04-04 08:39:43

  • Feature Branch set to bugfix/16291-on-screen-keyboard-passwords

#12 Updated by intrigeri 2019-04-04 08:48:05

  • Assignee changed from intrigeri to alant
  • QA Check set to Ready for QA

@alant, I’ve:

Back on your plate for testing :)

#13 Updated by alant 2019-04-04 14:44:41

The patch doesn’t solve the issue…

#14 Updated by alant 2019-04-04 16:43:59

  • Assignee changed from alant to intrigeri

I didn’t patch GTK3 module, which was a symlink of GTK2 in the upstream git but not in debian. This should be fixed on https://salsa.debian.org/tails-team/ibus/commits/tails/buster.

The patched package works in debian buster.

#15 Updated by intrigeri 2019-04-04 17:26:11

  • Assignee changed from intrigeri to alant

1.5.19-4.0tails3 is on the topic branch.

#16 Updated by alant 2019-04-05 10:15:08

  • Status changed from In Progress to Fix committed
  • Assignee deleted (alant)
  • QA Check changed from Ready for QA to Pass

#17 Updated by intrigeri 2019-04-05 10:56:39

  • Status changed from Fix committed to Resolved
  • % Done changed from 0 to 100

Applied in changeset commit:tails|3e31ead7f34a8188d03c05fb5f015f6a48ffeca2.