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 757712 - No way to bring up on-screen keyboard with new message-tray
No way to bring up on-screen keyboard with new message-tray
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: message-tray
3.18.x
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2015-11-07 01:02 UTC by Atri
Modified: 2017-09-29 14:17 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch adding bottom drag gesture for OSK (1.11 KB, patch)
2017-02-26 20:25 UTC, Jan-Michael Brummer
needs-work Details | Review
Updated patch after review (1.50 KB, patch)
2017-02-26 22:52 UTC, Jan-Michael Brummer
committed Details | Review

Description Atri 2015-11-07 01:02:36 UTC
There used to be an icon in the old (3.14.x) message-tray to bring up the on-screen keyboard (OSK) manually if required. This was especially useful when using a non-physical keyboard device (tablet, laptop hybrids in tablet mode, etc) with gtk2 and qt apps, because the OSK does not usually automatically spring up when a text input field is focused inside non-gtk3 applications, but also provided a convenient way to minimise the OSK if it sprung up unnecessarily and so on. Now that the message-tray has been redesigned, there is no OSK icon anywhere and this pretty nifty feature when using touchscreens seems to have disappeared. In my opinion a regression.

Thanks in advance for any help.
Comment 1 Atri 2015-11-21 19:35:49 UTC
Anything?
Comment 2 Atri 2016-01-26 21:20:50 UTC
Ping?
Comment 3 Allan Day 2016-12-08 11:00:45 UTC
(In reply to Atri from comment #0)
> There used to be an icon in the old (3.14.x) message-tray to bring up the
> on-screen keyboard (OSK) manually if required. This was especially useful
> when using a non-physical keyboard device (tablet, laptop hybrids in tablet
> mode, etc) with gtk2 and qt apps, because the OSK does not usually
> automatically spring up when a text input field is focused inside non-gtk3
> applications, 

Really the OSK ought to automatically pop up. A manual way to activate it is a workaround. Given than we live in an imperfect world, maybe there should be a way to manually trigger the OSK, although I'm not sure how you'd do that nicely.

> but also provided a convenient way to minimise the OSK if it
> sprung up unnecessarily and so on.
...

Really the control to hide the OSK should be part of the OSK itself.
Comment 4 Jan-Michael Brummer 2017-01-06 21:25:01 UTC
A simple and convenient way is sliding from bottom up, as there will be the OSK afterwards. 

There is already an extension called "Slide for Keyboard" which implement this behavior. I'd love to see this very small piece of code in gnome shell itself. On a tablet this is a must have (including caribou-resize-workspace)!
Comment 5 Florian Müllner 2017-01-20 13:50:37 UTC
(In reply to Jan-Michael Brummer from comment #4)
> A simple and convenient way is sliding from bottom up

Makes sense to me if the design team agrees.

(It's touch-only, but provided that's the primary use case here, I don't think that's an issue)
Comment 6 Jakub Steiner 2017-02-10 11:58:08 UTC
This seems viable. I will update the gestures page [1] as we no longer have a message tray...

[1] https://wiki.gnome.org/Design/OS/Gestures
Comment 7 Jan-Michael Brummer 2017-02-26 20:25:54 UTC
Created attachment 346766 [details] [review]
Patch adding bottom drag gesture for OSK

Please review and commit this patch.
Comment 8 Florian Müllner 2017-02-26 21:52:20 UTC
Review of attachment 346766 [details] [review]:

Thanks for the patch! Comments below (plus bonus points for a body in the commit message that mentions *why* the gesture is added)

::: js/ui/viewSelector.js
@@ +260,3 @@
         gesture.connect('activated', Lang.bind(this, this._pinchGestureActivated));
+
+        gesture = new EdgeDragAction.EdgeDragAction(St.Side.BOTTOM, Shell.ActionMode.NORMAL);

Mmh, two comments here:
 1) Is there a particular reason to restrict the gesture to NORMAL mode?
    Wouldn't it be just as useful for the overview search entry etc.?

 2) This looks like an odd place to put the code - the ViewSelector is what
    manages the different views in the overview, so having a gesture here
    that doesn't even work in the overview at all is very unexpected. Even
    when we change the mode to be more permissive, adding it to the gesture
    stuff in windowManager.js makes more sense to me (the OSK is definitively
    not an overview view, but you could argue that it's window-ish)

@@ +264,3 @@
+        gesture.connect('activated', Lang.bind(this, function() {
+            Main.keyboard._keyboardRequested = true;
+            Main.keyboard._keyboardVisible = false;

I'm not sure what this code does, but accessing another module's private state properties like this is a big no go.

@@ +265,3 @@
+            Main.keyboard._keyboardRequested = true;
+            Main.keyboard._keyboardVisible = false;
+            Main.keyboard.Show(global.get_current_time());

For what it's worth, the old message tray at the bottom had a button to bring up the keyboard which called show() (instead of Show()) when activated[0]. Maybe that's what you want here as well?

[0] https://git.gnome.org//browse/gnome-shell/tree/js/ui/keyboard.js?h=gnome-3-14#n711
Comment 9 Jan-Michael Brummer 2017-02-26 22:52:40 UTC
Created attachment 346778 [details] [review]
Updated patch after review
Comment 10 Jan-Michael Brummer 2017-02-26 22:53:56 UTC
Thanks for your review, i've updated all parts as requested.
Comment 11 Florian Müllner 2017-02-28 15:35:54 UTC
Review of attachment 346778 [details] [review]:

Looks good to me now, thanks
Comment 12 Jan-Michael Brummer 2017-03-12 14:19:22 UTC
Who will commit it now? Any chance for 3.24?
Comment 13 Florian Müllner 2017-03-12 16:47:53 UTC
Comment on attachment 346766 [details] [review]
Patch adding bottom drag gesture for OSK

(In reply to Jan-Michael Brummer from comment #12)
> Who will commit it now?

Usually people push their own patches. I'll assume from your question that you don't have commit access, in which case the answer is: me :-)


> Any chance for 3.24?

We're not in hard-code freeze yet, so yes.
Comment 14 Atri 2017-09-24 13:09:33 UTC
The gesture seems to be false-triggered a little too easily, e.g. on my tablet, dragging up the blank-screen shield (I have turned off screen-locking) brings it up, and it shouldn't. Ditto when I am using my pen on the tablet, it keeps popping up and down I guess because of my palm which is resting close to the bottom of the screen.

Please let me know if I open a new bug for this. Thanks for adding the gesture in the first place -- a way to bring up the keyboard was much needed.
Comment 15 Florian Müllner 2017-09-29 13:26:52 UTC
I filed bug 788339 for the first issue. The second one may be a bug in mutter or libwacom - feel free to file a new bug for that.
Comment 16 Atri 2017-09-29 14:17:35 UTC
Thank you very much Florian for bug 788339, and for the patch there. I realised that the second issue is bug 788188 and not a palm-detection issue, therefore I am not opening a bug against wacom for now.