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 702015 - OSK should be shown when touch input is being used
OSK should be shown when touch input is being used
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: keyboard
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
: 709935 (view as bug list)
Depends on: 683712 692771
Blocks:
 
 
Reported: 2013-06-11 14:17 UTC by David King
Modified: 2014-09-02 20:43 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Monitor Caribou daemon name on the bus (2.78 KB, patch)
2013-06-11 14:20 UTC, David King
none Details | Review
use g-s-d ShowOSK property, start and stop caribou (5.58 KB, patch)
2013-07-25 11:18 UTC, David King
reviewed Details | Review
updated patch against master (5.54 KB, patch)
2014-09-01 12:11 UTC, David King
accepted-commit_now Details | Review
keyboard: Monitor the ShowOSK property of g-s-d (5.58 KB, patch)
2014-09-02 20:36 UTC, Bastien Nocera
committed Details | Review

Description David King 2013-06-11 14:17:52 UTC
When a touch device is being used for input, the OSK should be automatically enabled. Bug 692773 has some earlier work to improve this.
Comment 1 David King 2013-06-11 14:20:33 UTC
Created attachment 246531 [details] [review]
Monitor Caribou daemon name on the bus

Rather than using the accessibility GSettings key to check if the on-screen keyboard should be displayed, use the presence of the newly-added org.gnome.Caribou.Daemon on the session bus. Watch for the name, showing the keyboard if the name exists on the bus and hiding it otherwise.
Comment 2 David King 2013-07-25 11:18:22 UTC
Created attachment 250099 [details] [review]
use g-s-d ShowOSK property, start and stop caribou

As mentioned in in bug 692771, comment #17, gnome-settings-daemon should have a D-Bus property for whether to enable the OSK depending on the input type being used, which it now does in master. This patch makes gnome-shell take notice of the new property, and starts and stops the caribou daemon as required.
Comment 3 Giovanni Campagna 2013-09-03 11:29:29 UTC
Review of attachment 250099 [details] [review]:

Why are we starting caribou ourselves? Shouldn't it be the responsability of g-s-d or gnome-session?

Looks good otherwise
Comment 4 Bastien Nocera 2013-09-04 19:37:26 UTC
(In reply to comment #3)
> Review of attachment 250099 [details] [review]:
> 
> Why are we starting caribou ourselves? Shouldn't it be the responsability of
> g-s-d or gnome-session?

gnome-session isn't clever enough to handle a dbus property as the trigger to make an app run (as opposed to a GSettings or GConf key, which it has for a while), and g-s-d shouldn't be in the business of running caribou, as gnome-shell will be the one actually using it.
Comment 5 Giovanni Campagna 2013-09-04 21:45:47 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > Review of attachment 250099 [details] [review] [details]:
> > 
> > Why are we starting caribou ourselves? Shouldn't it be the responsability of
> > g-s-d or gnome-session?
> 
> gnome-session isn't clever enough to handle a dbus property as the trigger to
> make an app run (as opposed to a GSettings or GConf key, which it has for a
> while), and g-s-d shouldn't be in the business of running caribou, as
> gnome-shell will be the one actually using it.

But gnome-settings-daemon is the one updating the property, it can launch caribou too...
I mean, it's fine either way, I was trying to shave the new code in gnome-shell
Comment 6 Magdalen Berns (irc magpie) 2013-11-25 18:59:32 UTC
(In reply to comment #5)
> (In reply to comment #4)
> > (In reply to comment #3)
> > > Review of attachment 250099 [details] [review] [details] [details]:
> > > 
> > > Why are we starting caribou ourselves? Shouldn't it be the responsability of
> > > g-s-d or gnome-session?
> > 
> > gnome-session isn't clever enough to handle a dbus property as the trigger to
> > make an app run (as opposed to a GSettings or GConf key, which it has for a
> > while), and g-s-d shouldn't be in the business of running caribou, as
> > gnome-shell will be the one actually using it.
> 
> But gnome-settings-daemon is the one updating the property, it can launch
> caribou too...
> I mean, it's fine either way, I was trying to shave the new code in gnome-shell

What is needed for this to be accepted giovanni? Is it needing an update? Now?

https://bugzilla.gnome.org/show_bug.cgi?id=692771 is committed, but I think https://bugzilla.gnome.org/show_bug.cgi?id=609722 is accepted but cannot be pushed until this is ready to be pushed too so it would be helpful to know whether there is more to be done.
Comment 7 David King 2014-09-01 12:11:33 UTC
Created attachment 284995 [details] [review]
updated patch against master

I refreshed the patch against latest master, and it responds to the ShowOSK property flipping to true by starting Caribou, but then the keyboard seems to grab touch events and I cannot enter text with the OSK. Even when the ShowOSK property is flipped back to false, it is no longer possible to use touch input.
Comment 8 David King 2014-09-01 13:54:59 UTC
Comment on attachment 284995 [details] [review]
updated patch against master

Touch input in the shell seems broken in the same way (for me) without this patch.
Comment 9 Bastien Nocera 2014-09-02 08:46:04 UTC
(In reply to comment #8)
> (From update of attachment 284995 [details] [review])
> Touch input in the shell seems broken in the same way (for me) without this
> patch.

That'd be bug 735681
Comment 10 Bastien Nocera 2014-09-02 13:34:41 UTC
*** Bug 709935 has been marked as a duplicate of this bug. ***
Comment 11 drago01 2014-09-02 20:24:17 UTC
Review of attachment 284995 [details] [review]:

LG, just one minor comment feel free to ignore if you disagree with it.

::: js/ui/keyboard.js
@@ +236,3 @@
     },
 
+    _onDaemonAppeared: function() {

Instead of this indirections you could just pass _sync as callback.
Comment 12 Bastien Nocera 2014-09-02 20:36:31 UTC
Created attachment 285189 [details] [review]
keyboard: Monitor the ShowOSK property of g-s-d

Show the on-screen keyboard if gnome-settings-daemon requests that it
should be shown, such as when using a touchscreen input device. Do this
in addition to monitoring the accessibility setting for the OSK.
Comment 13 Bastien Nocera 2014-09-02 20:43:18 UTC
Attachment 285189 [details] pushed as 3deaeb4 - keyboard: Monitor the ShowOSK property of g-s-d