GNOME Bugzilla – Bug 757712
No way to bring up on-screen keyboard with new message-tray
Last modified: 2017-09-29 14:17:35 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.
Anything?
Ping?
(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.
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)!
(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)
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
Created attachment 346766 [details] [review] Patch adding bottom drag gesture for OSK Please review and commit this patch.
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
Created attachment 346778 [details] [review] Updated patch after review
Thanks for your review, i've updated all parts as requested.
Review of attachment 346778 [details] [review]: Looks good to me now, thanks
Who will commit it now? Any chance for 3.24?
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.
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.
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.
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.