Bug #17021

On-screen keyboard does not allow to input any accentuated char if one keeps the mouse button pressed

Added by intrigeri 2019-09-04 16:47:55 . Updated 2019-12-14 16:30:31 .

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Accessibility
Target version:
Start date:
Due date:
% Done:

0%

Feature Branch:
Type of work:
Discuss
Blueprint:

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

Description

It’s a known issue that the GNOME on-screen keyboard, on X11, does not allow input of chars that are not supported by the current keyboard layout: for example, long-press on the “a” button will show you “à”, but pressing the “à” button won’t input a “à” letter in an English session. OTOH, in Tails 3.15, in a French session, this would work just fine. But on 4.0~beta2, even in a French session, pressing the “à” button does not input anything at all. This is a regression.


Files

special.webm (453666 B) sajolida, 2019-11-20 19:50:10

Subtasks


Related issues

Related to Tails - Bug #17174: On screen keyboard doesn't press space in Korean (Hangul) Resolved
Blocks Tails - Feature #16209: Core work: Foundations Team Confirmed

History

#1 Updated by intrigeri 2019-09-04 17:04:30

Next step: try reverting commit:e61076ee6c7592740bcc1f8e6f070e8e32f6f6ee (“Stop installing libcaribou-gtk3-module (refs: Bug #16757)”).

#2 Updated by intrigeri 2019-09-12 12:49:12

#3 Updated by intrigeri 2019-09-12 12:52:19

  • Priority changed from Elevated to Normal

Not a 4.0 release blocker but still, a nasty regression => let’s at least reproduce on Debian and ensure this is tracked upstream.

#4 Updated by segfault 2019-09-18 21:41:08

> let’s at least reproduce on Debian

I was able to reproduce the issue on Debian Sid

#5 Updated by segfault 2019-09-18 21:57:40

GNOME issue: https://gitlab.gnome.org/GNOME/gnome-shell/issues/109

This was supposedly fixed by https://gitlab.gnome.org/GNOME/mutter/commit/e3e933c47a69bd137bb83b3692d105d1261d16ff, which was released in mutter 3.32.2. Buster has 3.30.2 (and so does Sid, currently).

#6 Updated by segfault 2019-09-18 21:58:11

  • Description updated

#7 Updated by intrigeri 2019-10-03 08:43:20

  • Assignee set to lamby
  • Type of work changed from Research to Debian

#8 Updated by intrigeri 2019-10-17 10:57:28

Hi @lamby, what’s your timeline on this one? We were hoping to fix this in time for 4.0, so the fix would need to be merged by the end of the week. If needed, one of our FT colleagues can probably handle it :)

#9 Updated by lamby 2019-10-17 17:23:13

Unfortunately this fell through my cracks and I will be travelling and essentially afk for the next 48h or so. I thus recommend a colleague takes over this issue.

#10 Updated by intrigeri 2019-10-18 07:14:33

  • Assignee deleted (lamby)

Thanks for the update!

#11 Updated by intrigeri 2019-10-21 06:22:45

  • Target version changed from Tails_4.0 to Tails_4.1

#12 Updated by intrigeri 2019-10-22 11:22:58

  • related to Bug #17174: On screen keyboard doesn't press space in Korean (Hangul) added

#13 Updated by intrigeri 2019-11-11 08:51:04

segfault wrote:
> This was supposedly fixed by https://gitlab.gnome.org/GNOME/mutter/commit/e3e933c47a69bd137bb83b3692d105d1261d16ff, which was released in mutter 3.32.2. Buster has 3.30.2 (and so does Sid, currently).

I have good news!

This patch was backported to 3.30.3 upstream, then the Debian GNOME maintainers imported all commits from the upstream gnome-3-30 branch in the mutter 3.30.2-8 package. 3.30.2-9~deb10u1 was accepted in s-p-u, so Feature #17202 will give us this fix. And then we can test and confirm whether this really fixes the bug :)

#14 Updated by intrigeri 2019-11-11 08:51:29

#15 Updated by intrigeri 2019-11-11 08:51:38

  • Type of work changed from Debian to Test

#16 Updated by intrigeri 2019-11-16 12:58:19

  • Status changed from Confirmed to In Progress
  • Assignee set to intrigeri
  • Feature Branch set to feature/17202-buster-10.2+force-all-tests

(Will be cheap to test whether Feature #17202 fixes this.)

#17 Updated by intrigeri 2019-11-16 13:54:13

  • Subject changed from On-screen keyboard does not allow to input any accentuated char to On-screen keyboard does not allow to input any accentuated char if one keeps the mouse button pressed
  • Assignee deleted (intrigeri)
  • Feature Branch deleted (feature/17202-buster-10.2+force-all-tests)
  • Type of work changed from Test to Discuss

Once I learnt how to use the long-press popup thing in recent GNOME, which is different from how it used to be on Stretch (https://gitlab.gnome.org/GNOME/gnome-shell/issues/211 — tl;dr: release the mouse button once the popup appears, then click the accentuated char you want to input), it turns out that I cannot reproduce this bug on:

  • Tails 4.0
  • an image built from this branch, with mutter 3.30.2-9~deb10u1
  • Debian sid in a GNOME+Wayland session with mutter 3.34.1+git20191107-1

So, this boils down to change management in GNOME and/or Tails. The upstream MR that proposes to revert to the previous behavior has been submitted a year ago, reviewed 6 months ago, and not updated since. I’m not sure what’s best:

  • Help get this MR finalized and merged upstream
  • Adjust our end-user documentation to explain the new (somewhat surprising) behavior
  • Other ideas?

segfault, sajolida: opinions, ideas?

#18 Updated by intrigeri 2019-11-16 13:55:08

  • Description updated

#19 Updated by intrigeri 2019-11-16 13:59:23

#20 Updated by sajolida 2019-11-20 19:50:28

I’m not sure what you mean. I found the popup with the special characters but I can’t get them typed into gedit. I could only get ç and ø typed but not any of á é ó, which I can otherwise type fine with the physical keyboard. See screencast in attachment from Tails 4.0.

#21 Updated by intrigeri 2019-11-21 08:37:39

Hi!

> I’m not sure what you mean. I found the popup with the special characters but I can’t get them typed into gedit. I could only get ç and ø typed but not any of á é ó, which I can otherwise type fine with the physical keyboard.

FYI, to draw conclusions from your test results, I would need to know for sure:

  • what version of Tails (I assume you’ve tested on 4.0 but it could be Feature #17202)
  • what language/keyboard environment you’re logged in with
  • whether you released the mouse button every time (step 5 below)
  • whether “I can otherwise type fine with the physical keyboard” required use of the compose key

But only bother with this if your test results differ from the ones I’m reporting about below.

This works for me, both on Tails 4.0 and with the branch for Feature #17202:

  1. login in French
  2. enable the on-screen keyboard
  3. start gedit
  4. long-press the “e” button in the on-screen keyboard until the popup with accentuated chars appears
  5. release the mouse button ← this is the critical difference between Tails 3.x and 4.0
  6. click “é”

However, there is a difference between 4.0 and Buster 10.2 (Feature #17202) for some chars: in a French session, for example, I can’t input “á” this way on 4.0, while that’s fixed with Feature #17202. My understanding is that is precisely the upstream bug segfault pointed to, and that was fixed in Buster 10.2.

And if I login with the default US English language/keyboard settings: in Tails 4.0 I can input neither “ç”, nor “é”, nor “à”, nor “á”; but that’s fixed by Feature #17202.

So in my environment:

  • the specific bug that was reported on this ticket initially boils down to: one now needs to release the mouse button along the way (step 5 above); that is, one can input chars that are on the current physical keyboard keymap, just like in Tails 3.x, modulo the way to interact with the on-screen keyboard has changed
  • for chars that are not on the current physical keyboard keymap (compose key does not count!): Feature #17202 fixes the problem

Are we on the same page or do you have conflicting test results?

#22 Updated by CyrilBrulebois 2019-12-04 11:31:25

  • Target version changed from Tails_4.1 to Tails_4.2

#23 Updated by intrigeri 2019-12-13 15:31:44

  • Assignee set to sajolida

#24 Updated by sajolida 2019-12-14 16:30:31

  • Status changed from In Progress to Resolved
  • Assignee deleted (sajolida)

The bug that I described was indeed fixed for me between 4.0 and 4.1.
I can now type éèáà when running in English with Spanish keyboard.