Re: [gdm-list] questions about the mobility a11y in gdm 2.26 in Ubuntu



Hi,

Brian Cameron wrote:

Francesco:

First of all, great job!

Thanks.  :-)

I think the docs/C/gdm.xml file needs some love to help improve
the documentation to help people understand how to better customize
autostart scripts and to make GDM work with different accessibility
tools.  Would you be willing to provide some docs that go into more
depth in explaining this?

You could either provide a patch to the gdm.xml file, or if you provided
the updated docs in ASCII format I could merge them into the gdm.xml
file.

I wrote an improved version of the Accessibility Configuration section and attached it to a new bug that I filed against the documentation of GDM:
http://bugzilla.gnome.org/show_bug.cgi?id=590734

Usually, I use the XML editor from XMLMind to edit the xml file of mousetweaks, but I did not completely understand the structure it displayed for the gdm.xml file. Consequently, I choose to provide the improved version of the section in ascii format instead of messing up the current gdm.xml file.

Thanks for replacing the current version of the documentation of the Accessibility Configuration with my improved version if you find it appropriate. Do not hesitate to edit it the way you like. (I am assuming that the gdm.xml file contains the same documentation that is available on the following site: http://library.gnome.org/admin/gdm/2.26/ )

By the way, the current gdm.xml file of the git repo contains an error: the close tag (</p>) of the third paragraph counting from the bottom upwards is missing.


Here is how I got it working:

I have put an onboard.desktop file into the following directory:
/usr/share/gdm/autostart/LoginWindow/
(I am using Ubuntu 9.10 alpha; I don't know whether this directory can
be different on other distributions.)

And here is the content of onboard.desktop:
[code]
#!/usr/bin/env xdg-open
[Desktop Entry]
Encoding=UTF-8
Name=Onboard Onscreen Keyboard
Comment=Use an onscreen keyboard
TryExec=onboard
Exec=onboard
Terminal=false
Type=Application
StartupNotify=true
Categories=GNOME;GTK;Accessibility;
AutostartCondition=GNOME
/desktop/gnome/applications/at/screen_keyboard_enabled
X-Ubuntu-Gettext-Domain=gdm
[/code]

Of course, the tags [code] and [/code] are not in onboard.desktop.


It seems to work like this (I don't know however, whether I am guessing
right):

When a user activates the "Use onscreen keyboard" in the accessibility
dialog of GDM, the directory /usr/share/gdm/autostart/LoginWindow/ is
scanned and every desktop file that contains the following key in a line:

AutostartCondition=GNOME
/desktop/gnome/applications/at/screen_keyboard_enabled

gets executed. (If you see 2 lines above, then the email application
inserted a line break.)

Yes, that is my understanding also.  It would be good if the
"Configuration" section of the docs explained how this works better.

This should now be the case with my improved version of the section about the Accessibility Configuration.

Remark that every desktop file with containing that line gets started;
so it is possible to associate more than one application to the "Use
onscreen keyboard" item of the accessibility dialog. As I did not want
to have onboard and gok to be started simultaneously, I had to delete or
rename the gok.desktop file to anything that does not end in .desktop
file; that way gok does not get started anymore.

Perhaps it would be nice if GDM had both desktop files in the source
and had a configure option which allowed you to specify which
desktop file for on-screen-keyboard use to install when you built it?
That way distros could easily choose which one to use.

In fact, it could be useful for distributions; but on the other hand, how would you like to determine which desktop files to include and which not?

Ubuntu for example ships onboard as default onscreen keyboard, but onboard is not an application that is part of the default GNOME desktop.


Two other keys are available:

AutostartCondition=GNOME
/desktop/gnome/applications/at/screen_magnifier_enabled

AutostartCondition=GNOME
/desktop/gnome/applications/at/screen_reader_enabled

which correspond respectively to the magnifier and screenreader items of
the accessibility dialog of GDM.

Again, perhaps this could be made more clear in the "Configuration"
section of the docs.

I suppose that the other items in the accessibility dialog do not have
corresponding keys because these features are provided directly by the X
server that does not need to get started as it is already running!?

Correct.  Probably should be made more clear in the "Configuration"
section of the docs.

Thanks to Gerd K. for helping me setup onboard as a replacement of gok.
As I am using it, I know that it works (at least in the Ubuntu 9.10
development version); but can anybody with the appropriate knowledge
tell me whether the explanation I gave here above is right or correct
what is wrong?

Yes, it sounds correct to me.

Once it has been confirmed to be correct, this howto could be added to the documentation as you suggested above.

Perhaps a new section could be added as an appendix to the documentation
to give an example of how to configure GDM to work with a different AT
program.

I decided to put it all in the section of the Accessibility Configuration, also the example about how to replace and add an additional accessibility tool. I thought that it might be better having it all in one place.


However, I also think it is important to update the "Configuration"
section of the docs so that the way things work is more clearly
described.

There is however something that is puzzling to me: when I open the
gconf-editor after having logged in into my GNOME session, I can't
find the keys:
/desktop/gnome/applications/at/screen_keyboard_enabled
/desktop/gnome/applications/at/screen_magnifier_enabled
/desktop/gnome/applications/at/screen_reader_enabled

When I run gconf-editor using GNOME 2.26, I see these keys.

But these 3 keys are available:
/apps/gdm/simple-greeter/accessibility/screen_keyboard_enabled
/apps/gdm/simple-greeter/accessibility/screen_magnifier_enabled
/apps/gdm/simple-greeter/accessibility/screen_reader_enabled

As far as I know, GDM runs under the "GDM" user and not under my
username and consequently uses a different gconf database. But I
nevertheless wonder whether these two sets of keys are somehow
related?

I think this is a bug.  These keys are not used in the code, and
probably should be removed from the schemas file.

By starting the gconf-editor with a desktop file along with the onscreen keyboard during GDM, I could verify that it is the first set of gconf keys that gets used by the new GDM. Maybe that the second set is some leftover from the old gdm and should indeed be removed during the installation of the new GDM.


I filed a bug against GDM with an explanation about how to enhance
GDM so that, out-of-the-box, a dwell user can by himself activate
and use dwelling:
http://bugzilla.gnome.org/show_bug.cgi?id=589906

That sounds like a neat feature.

Does this mean that it would be accepted if somebody would write a corresponding patch or would it have to also pass other teams, for example the team responsible for the HIG?


However, we still need a way for
blind users to launch AT programs via a hotkey combination.

This is probably a really bad for the concerned users.



- I have seen that "dwellmouselistener" is called in /etc/gdm/custom.conf. Does it mean that the accessibility tools can
be started by mouse gestures in GDM 2.26 as it was the case in GDM
2.22? If so, could you please tell me in what file the gestures are
defined for GDM 2.26?

GDM 2.20 and earlier supported this.  The new GDM does not provide
any mechanism for users to launch AT programs except via the dialog.
It would be good to enhance both GDM and the normal GNOME user
session to support this sort of feature.  Some people have suggested
it would be best to implement this in gnome-settings-daemon so it
would work consistently in GDM and a normal GNOME user session.

I probably messed up things last time: I don't see anymore "dwellmouselistener" in /etc/gdm/custom.conf.

If you are using GDM 2.21 and later, you should not have these in your
custom.conf file.  The new GDM does not support these modules anymore.

If you are using the older GDM 2.20 or earlier, you should add these
lines in the [daemon] section of the custom.conf file to enable a11y:

AddGtkModules=true
GtkModulesList=gail:atk-bridge:/usr/lib/gtk-2.0/modules/libdwellmouselistener:/
usr/lib/gtk-2.0/modules/libkeymouselistener

Unless I made an error, I should have been using the new GDM at that time. In any case, this entries are not anymore available in the custom.conf file and I don't remember removing them manually. Maybe that it was fixed by one of the many GDM updates that hit in the Ubuntu repos.


Cheers,

Francesco


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]