GNOME Bugzilla – Bug 536277
stop automatic switching from keyboard layout to ui grabbing
Last modified: 2009-02-14 09:56:47 UTC
When gok is used with in direct access input method (in other words when the user clicks with the pointer directly on the buttons), each time that the user clicks outside of the gok window, gok changes automatically from the keyboard layout (composer) to the ui grabbing layout. This is annoying for users that need only the osk feature of gok (pointer only users, tabletpc users), since they have to rechoose the keyboard layout nearly every time the want to type something.
GOK's strength is single switch access, but this bug should be doable. I think we are progressing in making GOK work well for dwell based access. Thanks for reporting this. Perhaps this is a regression with the login and onboard patch work?
What do you mean by onboard patch?
(In reply to comment #2) > What do you mean by onboard patch? > Sorry, I mean't MouseTweaks.
The question in comment #2 has been answered. Thus, I'm REOPENing this bug.
Gerd, please take a look at gok --help and see if there is a suitable flag for a mode under which we wouldn't auto-branch to a dynamic keyboard. Also we really should generally consider making GOK more amenable to typical kiosk use -- without breaking any functionality for our target users --. There is a bug open for this I think.
Here's a first patch that adds a new --disable-autobranch option. With it, GOK won't branch on window-activate or focus events. David, I wasn't sure which of the existing flag to use. Any suggestions? Francesco, can you please test the patch to see if it covers all cases.
Created attachment 127574 [details] [review] Add --disable-autobranch
Gerd that flag is fine thanks.
Thanks for the new --disable-autobranch option. I tried it shortly and only thing that I remarked so far is that after an automatic restart of gok due to it crashing, the --disable-autobranch is not passed during the automatic restart. I had to quit gok and restart it from terminal with the option. However, I still have to test it extensively... Cheers
(In reply to comment #9) > I tried it shortly and only thing that I remarked so far is that after an > automatic restart of gok due to it crashing, the --disable-autobranch is not > passed during the automatic restart. I had to quit gok and restart it from > terminal with the option. Thanks for testing. Can you post some more infos about the crash - the backtrace from the terminal and how to reproduce it. Does it only happen with this patch? I think command-line options are generally not passed on between restarts. Should we open a new bug for this?
Concerning the passing of options between automatic restarts: Such a feature would probably be nice for the people who start gok from cli. On the other hand, I assume that when the --disable-autobranch officially arrives into gok, there will also be a corresponding option in the preferences window of gok, making the passing of cli option irrelevant in this case. Consequently, the importance of passing cli options between automatic restarts boils down to whether cli is a normal way to start gok; and above all, how buggy gok really is, as the automatic restart is a consequence of a crash. @Gerd: Is gok stable on your system? I am asking because gok seems quite unstable on my Ubuntu Intrepid and on my Ubuntu Jaunty, regardless of whether I use the patch or not. I don't know whether the crash with the automatic restart was due to the patch because such a crash did not occur anymore. However I had several other crashes where: a) gok did not automatically restart, but the GNOME session continued to work properly. Once, gok printed the backtrace during such a crash; you might want to have a look at the attachment named backtrace. b) the desktop became unresponsive to mouse clicks and the last message in the terminal is: "GOK: Critical (unrecoverable) error. Restarting GOK". Regardless of a crash, the terminal is full of messages when I start gok from cli. Here are a few examples: - Immediately after the start, I get this: /dev/js0: No such file or directory Xlib: extension "XEVIE" missing on display ":0.0". Warning: AT-SPI error: pre method check: add: Unknown CORBA exception id: 'IDL:omg.org/CORBA/COMM_FAILURE:1.0' - There are from time to time messages like these: Warning: AT-SPI error: getRole: Unknown CORBA exception id: 'IDL:omg.org/CORBA/COMM_FAILURE:1.0' Warning: AT-SPI error: getRole: Unknown CORBA exception id: 'IDL:omg.org/CORBA/COMM_FAILURE:1.0' ERROR:gok-spy.c:2245:gok_spy_process_focus: assertion failed: (accessible != NULL) Aborted (core dumped) (no automatic restart) - A lot of messages like these: ** (gok:6696): CRITICAL **: cspi_object_get_ref: assertion `ref->ref_count > 0' failed ** (gok:6696): CRITICAL **: cspi_object_ref: assertion `accessible != NULL' failed Hoping to have been helpful.
Created attachment 127696 [details] Backtrace from message 11
By the way, the tests of message 11 here above were based on revision 2615 of gok.
(In reply to comment #11) > I am asking because gok seems quite unstable on my Ubuntu Intrepid and on my > Ubuntu Jaunty, regardless of whether I use the patch or not. I don't know > whether the crash with the automatic restart was due to the patch because such > a crash did not occur anymore. However I had several other crashes where: > > a) gok did not automatically restart, but the GNOME session continued to work > properly. Once, gok printed the backtrace during such a crash; you might want > to have a look at the attachment named backtrace. > > b) the desktop became unresponsive to mouse clicks and the last message in the > terminal is: "GOK: Critical (unrecoverable) error. Restarting GOK". > > Regardless of a crash, the terminal is full of messages when I start gok from > cli. Here are a few examples: > > - Immediately after the start, I get this: > /dev/js0: No such file or directory > Xlib: extension "XEVIE" missing on display ":0.0". > Warning: AT-SPI error: pre method check: add: Unknown CORBA exception id: > 'IDL:omg.org/CORBA/COMM_FAILURE:1.0' > > - There are from time to time messages like these: > Warning: AT-SPI error: getRole: Unknown CORBA exception id: > 'IDL:omg.org/CORBA/COMM_FAILURE:1.0' > Warning: AT-SPI error: getRole: Unknown CORBA exception id: > 'IDL:omg.org/CORBA/COMM_FAILURE:1.0' > > ERROR:gok-spy.c:2245:gok_spy_process_focus: assertion failed: (accessible != > NULL) > Aborted (core dumped) > (no automatic restart) > > - A lot of messages like these: > ** (gok:6696): CRITICAL **: cspi_object_get_ref: assertion `ref->ref_count > 0' > failed > ** (gok:6696): CRITICAL **: cspi_object_ref: assertion `accessible != NULL' > failed I think the problem you are seeing is not related to patch. The warnings and the eventual crash (or freeze) happens if an applications is running as root. eg: synaptic. The proper orbit permissions to make this work are not set by default in Ubuntu. You can find a good explanation + workaround here: http://live.gnome.org/Orca/SysAdmin I have committed the patch to trunk.