GNOME Bugzilla – Bug 411501
Pass activated AT's to login session
Last modified: 2008-08-16 21:26:24 UTC
If an user enables assistive technologies at gdm, it would make sense that the AT's run in his desktop session. In fact, for KIOSK and livecd use cases this is highly desirable. So attached is a patch that sets the environment variable GDM_ATS with these if one or more AT's was started. Then e.g. gnome-session can read these, turn a11y support on and start the appropriate AT's. There's a TODO in the patch where I propose that instead of passing "orca" we should pass an abstract identifier for the AT launched. In fact, as Orca is both a magnifier and a screen reader something like this is needed. Perhaps we need to change/extend the format of /etc/gdm/modules/AccessKeyMouseEvents /etc/gdm/modules/AccessDwellMouseEvents to cope with this?
Created attachment 83222 [details] [review] proposed patch
Created attachment 83223 [details] [review] proposed patch (with small fix)
Created attachment 83249 [details] [review] improved patch Here's an improved patch that doesn't break backwards compat. It's a bit ugly with the way it's specified but, hey, at least it's working. Will also attach new patch to bug 411506 which is the gnome-session side of things.
Also, passing knowledge to the greeter about what AT's can be activated (and how) would require classification of each AT. This is useful for e.g. enhancing the greeter to show this to the user.
*** Bug 155969 has been marked as a duplicate of this bug. ***
This looks really good. I don't really like the way the configuration file is changed. It might be better if it could be written like this: #TYPE:onscreenkeyboard TBLR I 10000 @AT_BINDIR@/gok --login --access-method=dwellselection TLBR I 10000 @AT_BINDIR@/gok --login --access-method=automaticscanning --scan-action=switch1 --select-action=switch1 TRBL I 10000 @AT_BINDIR@/gok --login --access-method=inversescanning --scan-action=switch1 --select-action=switch2 TBRL I 10000 @AT_BINDIR@/gok --login --access-method=automaticscanning --scan-action=switch3 --select-action=switch3 #TYPE:magnifier [...] This would require a bit more work parsing the configuration file, but would make the file easier to read and maintain. Also it would be backward compatible since the TYPE line would be ignored by previous versions as comments. I notice you changed gui/greeter/greeter.c, but not gui/gdmlogin.c, so I wonder if this feature only works with gdmgreeter? Also, I would only accept a change like this if documentation were added to the Accessibility section of docs/C/gdm.xml that explain how GDM works with a11y after this change. Any ideas when the change will go into gnome-session to support this since it makes sense for GDM to accept this change at the same time as gnome-session. I assume this change is for GDM 2.19 since we are so close to freeze for 2.17?
(In reply to comment #6) > This looks really good. Thanks! > I don't really like the way the configuration file is > changed. Heh, me neither. > It might be better if it could be written like this: > > #TYPE:onscreenkeyboard > TBLR I 10000 @AT_BINDIR@/gok --login --access-method=dwellselection > TLBR I 10000 @AT_BINDIR@/gok --login --access-method=automaticscanning > --scan-action=switch1 --select-action=switch1 > TRBL I 10000 @AT_BINDIR@/gok --login --access-method=inversescanning > --scan-action=switch1 --select-action=switch2 > TBRL I 10000 @AT_BINDIR@/gok --login --access-method=automaticscanning > --scan-action=switch3 --select-action=switch3 > > #TYPE:magnifier > [...] > > This would require a bit more work parsing the configuration file, but would > make the file easier to read and maintain. Also it would be backward > compatible since the TYPE line would be ignored by previous versions as > comments. I'll look into doing this; it should be feasible. Any thoughts on the names (e.g. magnifier, onscreenkeyboard etc.) btw? I just picked them out of the blue air. Since they constitute *some* kind of ABI perhaps there are better names? > I notice you changed gui/greeter/greeter.c, but not gui/gdmlogin.c, so I > wonder if this feature only works with gdmgreeter? Oh, I guess I missed that one. I'll make gui/gdmlogin.c do the same thing. > Also, I would only accept a change like this if documentation were added to > the Accessibility section of docs/C/gdm.xml that explain how GDM works with > a11y after this change. Certainly. I'll write some docs. > Any ideas when the change will go into gnome-session to support this since it > makes sense for GDM to accept this change at the same time as gnome-session. > I assume this change is for GDM 2.19 since we are so close to freeze for 2.17? Yea, probably it's good to wait for 2.19 to have time to get this into gnome-session. We'll probably ship this + the gnome-session patch as a vendor patches for Fedora 7 - it's a feature we need to improve accessibility on our live CD's. I'll hope to provide an updated patch tomorrow. Thanks!
I think "magnifier", "onscreenkeyboard", and "tty" (or "texttospeech") would all be fine. Might be a bit easier to read as "on-screen-keyboard", "text-to-speech", etc.). Might be nice if these could be arbitrary and correspond to the gnome-session patch. So that whatever keyword is used in the GDM gesture file is looked up by gnome-session and can be configured there. This way if the sysadmin wants to add new keywords to the file they simply add them to the GDM gesture file and to the gnome-session configuration file and things just work. Anther idea is that gnome-session could just use the GDM configuration file and the session-program-to-run could also be specified in the GDM configuration file and gnome-session just looks it up there. I think something like this would be much better than hardcoding the keywords or applications-to-run into the gnome-session code. I looked at your existing gnome-session patch and it seems you are hardcoding things there. Yuck. :)
Do you have an updated patch?
*ping* again. This is a neat feature I would like to see go into GDM 2.19 if possible.
Hi, sorry for not getting back earlier, been busy with hal 0.5.9 and fedora 7 - I'll update the patches for all for the bugs I have outstanding (this one, bug 412576, bug 411427) this week. Thanks.
Any update David?
Is there any way to get these keyboard gestures to carry over to the desktop session per 387973?
If the gestures for starting accessibility are standardized for GNOME, I would b ehappy to update the default gestures used by GDM to follow the same and be consistant. Though this is a separate issue. This bug simply creates a mechanism so that if a user starts an AT in GDM, that the AT program is autolaunched in their session. Speaking of which, David, any update on getting this patch finished?
Created attachment 88623 [details] [review] patch updated to 2.19.1
Any plans to update this patch to reflect the discussion above? David seemed interested in doing this work, but it's been a while now.
After login, this information needs to be passed to the new /usr/share/gnome/autostart/gnome-at-session.desktop and /usr/bin/gnome-at-visual. For more information, see http://live.gnome.org/GAP/ScratchPad/PreferredApplications
This bug has been obsoleted by the gdm rewrite and the a11y revamp...