After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 790104 - Unable to type capital letters using onscreen keyboard
Unable to type capital letters using onscreen keyboard
Status: RESOLVED OBSOLETE
Product: caribou
Classification: Applications
Component: default
0.4.x
Other Linux
: Normal normal
: ---
Assigned To: caribou-maint
caribou-maint
Depends on:
Blocks:
 
 
Reported: 2017-11-09 02:21 UTC by PJSingh5000
Modified: 2018-03-21 14:34 UTC
See Also:
GNOME target: ---
GNOME version: 3.25/3.26


Attachments
Workaround patch (1.57 KB, patch)
2018-03-19 17:02 UTC, Jason Gerecke
none Details | Review

Description PJSingh5000 2017-11-09 02:21:48 UTC
Unable to type capital letters using onscreen keyboard:

1. Launch a program where you can type text (gedit for example).
2. Activate on screen keyboard (by touching the screen, foe example).
3. Notice all the keys on the on screen keyboard display lowercase letters.

4. Begin typing. Lowercase characters are typed into the text area.

5. Tap on the Shift (up arrow at left side of on screen keyboard) key of the on screen keyboard.
6. Notice all the keys on the on screen keyboard now display capital letters.
7. Begin typing.
8. A lowercase character will be typed into the text area.

This is not expected behavior.
Instead, a capital letter should have been typed.

(All the keys on the on screen keyboard revert to lower case. This is expected, since the on screen shift key would need to be pressed again in order to attempt to type another capital character).

ProblemType: Bug
DistroRelease: Ubuntu 17.10
Package: caribou 0.4.21-2
ProcVersionSignature: Ubuntu 4.13.0-16.19-generic 4.13.4
Uname: Linux 4.13.0-16-generic x86_64
ApportVersion: 2.20.7-0ubuntu3.1
Architecture: amd64
CurrentDesktop: GNOME
Date: Sun Nov 5 10:57:04 2017
InstallationDate: Installed on 2017-11-03 (1 days ago)
InstallationMedia: Ubuntu 17.10.0 2017.10.23 amd64 "Custom Artful Aardvark"
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: caribou
UpgradeStatus: No upgrade log present (probably fresh install)
Comment 1 Tyson Tan 2017-11-21 08:47:00 UTC
I can confirm the same problem is happening on Manjaro Gnome 17.0.6. I'm using a tablet PC with no built-in physical keyboard, I can't login without plugging in a real keyboard because Gnome doesn't accept password without uppercase letters in it... -_- 

There was another report about the same issue on Fedora 27: https://bugzilla.redhat.com/show_bug.cgi?id=1507279
Comment 2 Luke Ross 2017-11-23 22:50:10 UTC
I'm experiencing this too. Some observations from my experience, using Ubuntu Artful and the gnome (not ubuntu-gnome flavour) desktop:

- it affects anything that needs the shift key, not just capitals, so pressing the on-screen '$' button comes out as '4'

- it only affect Gnome-on-Xorg sessions; Gnome-on-Wayland works fine

- it doesn't *seem* to be affected by layout. Switching to fullscale doesn't seem to improve matters

- using xev, there's no Shift_L event being generated. However you can see the Shift_L event when running under Wayland (which agrees with point #2)

Hope this information aids in debugging/reproducing. As per comment #1, it's a bit of a killer for me as whenever my tablet lockscreens I can't type my password because it's not all lower-case :-)
Comment 3 Virgo Sun 2017-11-25 16:12:54 UTC
i confirm can not login after fresh install kali 2  2017. my tablet have no physical keyboard, 

1 no  capital
2 layout swap y - z
3 all symbol key not work @->2, &->7 etc

people report same bug in arch here https://bbs.archlinux.org/viewtopic.php?id=231471
Comment 4 Virgo Sun 2017-11-25 16:17:29 UTC
sorry, i forget

4. sometimes  onscreen keyboard lost  `always on top`, hence no way to input password in gksudo
Comment 5 Luke Ross 2017-11-27 13:28:31 UTC
I've made some progress in debugging this. Caribou supports a "Display Adapter" which allows the virtual keypresses to be sent to the appropriate display via the appropriate protocol (X, Wayland, etc). Caribou itself only has "XAdapter" which supports X11 only (using XTest).

gnome-shell provides its own "LocalAdapter" which is needed as it supports both X11 and Wayland, and it's this LocalAdapter which is not working under X11.

If you comment out this line at https://git.gnome.org/browse/gnome-shell/tree/js/ui/keyboard.js#n177 :

        Caribou.DisplayAdapter.set_default(new LocalAdapter());

...then Caribou will instantiate the default XAdapter and your OSK will now allow shifted characters to be issued under Gnome-Xorg. On the downside, if you comment it out then the keyboard won't work in Wayland at all (and may have other negative effects) :-(

I plan to next try to inspect the internals of LocalAdapter, but hope this information is of interest.
Comment 6 Virgo Sun 2017-11-27 17:04:43 UTC
Thank you @Luke Ross for the responsive reply
I understand this as a major transformation in Gnome 3.26
I can not the keyboard.js in my system. Does it zipped elsewhere
If it work at login screen - I suppose X11 in Kali, I can try.
Comment 7 Virgo Sun 2017-11-28 03:58:41 UTC
Thank you @Luke Ross, I follow you instruction and it work, in login and session.
Anyway do you know to change the QWERTZ to QWERTY in session.
How to enable Caribou in gksudo.
And clt+c doesn't seem to do the copy in terminal, I have to use Florence for this.
Regards
Comment 8 7achoneus 2017-12-25 23:07:13 UTC
I wanted to drop in and say that I am affected by this bug as well.  This makes login impossible for any passwords that may have capitalization or symbols that require the shift key.  I am using a tablet PC that has no built in keyboard.
Comment 9 PJSingh5000 2018-01-01 00:58:42 UTC
If anyone is interested, I posted a work-around on Ask Ubuntu, using the information Luke Ross provided.

https://askubuntu.com/questions/983666/caribou-on-screen-keyboard-shift-key-not-working/989247#989247

I tested this on Ubuntu 17.10 using gnome-shell (version 3.26.2-0ubuntu0.1) but it should work for other distributions as well.

As pointed out, this will only work for Xorg, and Wayland may not work after making this change.
Comment 10 Elena Haul 2018-03-18 20:34:39 UTC
I can confirm this issue. Shouldn't this be a top priority? It makes the touch screen unusable under Xorg, and therefore makes Gnome entirely unusable under Xorg on touch devices. I installed Gnome on my tablet and I can't even log in. If I set it to autologin, I can't do anything useful as I can't type anything properly.
Comment 11 Virgo Sun 2018-03-19 04:07:26 UTC
(In reply to Elena Haul from comment #10)
> I can confirm this issue. Shouldn't this be a top priority? It makes the
> touch screen unusable under Xorg, and therefore makes Gnome entirely
> unusable under Xorg on touch devices. I installed Gnome on my tablet and I
> can't even log in. If I set it to autologin, I can't do anything useful as I
> can't type anything properly.

Sadly, open source community seems to neglect the existent of touch devices, if not to say they hate them?
Comment 12 Jason Gerecke 2018-03-19 17:02:45 UTC
Created attachment 369871 [details] [review]
Workaround patch

Looks like prior to gnome-shell commit aecd1c126a, the problematic "LocalAdapter" (which was previously named the "ShellWaylandAdapter") was only used "if (Meta.is_wayland_compositor() && Caribou.DisplayAdapter.set_default)[1]. Putting this "if" statement back in seems to get X11 working properly for me again (can't test Wayland since it's not an option for some reason on my system).

I've attached a workaround patch that can be applied to the gnome-shell codebase. The "caribou-maint@gnome.bugs" assignee doesn't seem to be taking any interest in this, so maybe its time to see if anyone can be found on IRC who can move this bug along?

(In reply to Virgo Sun from comment #11)
> (In reply to Elena Haul from comment #10)
> > I can confirm this issue. Shouldn't this be a top priority? It makes the
> > touch screen unusable under Xorg, and therefore makes Gnome entirely
> > unusable under Xorg on touch devices. I installed Gnome on my tablet and I
> > can't even log in. If I set it to autologin, I can't do anything useful as I
> > can't type anything properly.
> 
> Sadly, open source community seems to neglect the existent of touch devices,
> if not to say they hate them?

This reminds me of "Why the GIMP Team Obviously Hates You"[2]. "Hate" for touch devices probably isn't the actual reason that support for touchscreens under Linux still pales in comparison to other OSes.

[1]: https://github.com/gnome/gnome-shell/commit/aecd1c126a4606af0b460d4168299792e862e4d5#diff-637c4eae54d36a2e7ba922d66a08a2e7L211
[2]: https://www.youtube.com/watch?v=AemoQzCFHpc
Comment 13 Daiki Ueno 2018-03-19 17:17:33 UTC
If the patch is against gnome-shell, why don't you report it to them?  I see no point in continuing the discussion here.

Also afaik it had been a long-standing plan to decommission caribou and implement the whole OSK stuff in gnome-shell side (and it's finally available as 3.28).  I guess that's why people don't want to move this kind of bugs forward.

I'm inclined to close all such bugs filed against caribou.
Comment 14 Jason Gerecke 2018-03-19 18:19:29 UTC
My gnome-shell patch is just a hack job to work around the issue and get the OSK working. It doesn't actually "fix" the underlying bug. I've only spent about 5 minutes looking at this, but do suspect that the issue is fundamentally elsewhere in GNOME (my money is on Mutter rather than gnome-shell, personally).

If this isn't actually a Caribou issue, it seems reasonable to pass it along to another maintainer. Do you have the ability to reassign this bug to e.g. gnome-shell or Mutter?

Thanks!
Comment 15 Virgo Sun 2018-03-20 01:39:13 UTC
Ah chance to reveal the overreaching. I can say not only linux, but NIX enthusiasts hate touchscreen idea. Let's see how dismal the reception of touch equipped Apple Mac devices. Weather the endeavor to put NIX to that devices, make the former look cheap, or  against their will? If people don't find any interesting in NIX, they would not try their effort.
That is what I got from interacting with NIX fans.
Fortunately, ordinary people, on the other hand, welcome any irregular thing, providing it is well elaborated
Regards
Comment 16 Daiki Ueno 2018-03-20 11:27:42 UTC
(In reply to Jason Gerecke from comment #14)

> If this isn't actually a Caribou issue, it seems reasonable to pass it along
> to another maintainer. Do you have the ability to reassign this bug to e.g.
> gnome-shell or Mutter?

I can, but as they moved to gitlab, I guess it would make more sense to file an issue there:
https://gitlab.gnome.org/GNOME/gnome-shell/issues

I haven't look at the new OSK, but I am pretty sure it no longer relies on the Caribou code to synthesize key events.

I am closing this as OBSOLETE.  Please move further discussion somewhere else.
Comment 17 Parag AN 2018-03-20 15:36:04 UTC
Caribou package is now removed from Fedora 28+ releases.
Comment 18 Virgo Sun 2018-03-21 03:17:13 UTC
(In reply to Daiki Ueno from comment #13)
> If the patch is against gnome-shell, why don't you report it to them?  I see
> no point in continuing the discussion here.
> 
> Also afaik it had been a long-standing plan to decommission caribou and
> implement the whole OSK stuff in gnome-shell side (and it's finally
> available as 3.28).  I guess that's why people don't want to move this kind
> of bugs forward.
> 
> I'm inclined to close all such bugs filed against caribou.

But you can't login with OSK stuff
Comment 19 Jason Gerecke 2018-03-21 14:34:27 UTC
Bug has been re-filed on Gitlab against gnome-shell as https://gitlab.gnome.org/GNOME/gnome-shell/issues/135

I suggest everyone CCed to this bug use the "Thumbs Up" button on the newly-filed bug to register interest and increase its visibility.