GNOME Bugzilla – Bug 663007
Impossible to use keyboard to login as non-listed-user ("Not listed" option)
Last modified: 2012-10-12 14:30:53 UTC
The 3.2.x GNOME Shell-styled login screen has an option to login as a user that is not listed in the user list, but this option is not keyboard-accessible. Personally, I think having this show up by pressing the down arrow key after the last user in the list or the up arrow key after the first user in the list makes sense to me. Alternatively, tab could be used to switch between the user list and this option.
*** Bug 660823 has been marked as a duplicate of this bug. ***
*** Bug 681748 has been marked as a duplicate of this bug. ***
So I think both makes sense. Down on the last item should go to Not Listed, up on the first item should go to Not Listed, and tab/shift-tab when anywhere on the user list should go to Not Listed. There's a few things that need fixing: 1) we don't currently have a separate focus color for Not Listed, so even when it gets focus we don't indicate it 2) Tab currently tabs between items in the list instead of into and out of the list 3) we wrap around when arrowing from the end/beginning of the list.
I thought 2) would be as simple as overriding navigate_focus and returning false when direction is TAB_FORWARD or TAB_BACKWARD and when from is an item in the list. Instead the only way I could get it to work was to duplicate a lot of st_widget_navigate_focus. I'd say we don't want that kind of code in, so really need to spend more time trying to figure things out.
<magcius> halfline, re: tabbing, is the "Not Listed" item in the same container as all the other tings? <halfline> no <halfline> the other things are in a user list, and it's in a box layout that the user list is also in <halfline> i think we'll probably need to make st_widget_navigate_focus more complicated <magcius> halfline, what's wrong with simply returning FALSE? <halfline> doesn't work, iirc it just fails to change focus then <halfline> since nothing traverses through the children of the ancestors <gcampax> ebassi: http://www.fpaste.org/LjLb/ if you want a test in C <magcius> halfline, ah, you need to add the parent to the focus manager <magcius> halfline, St.FocusManager.get_for_stage(global.stage).add_group(thing_containing_user_list_and_not_listed_actors); <halfline> ah could be <halfline> though global.focus_manager <magcius> Oh right. I just made that cleanup the other day, too. <halfline> hmm <magcius> halfline, actually, you want the focus to be on the parent group, not the user list * magcius checks to see what's actually happenign <magcius> I'm so confused. Why is keynav working right now if nothing in the ancestry is tracked by the focus manager? <halfline> modalDialog.js uses the focus manager <magcius> Ah, forgot that the login dialog is a modal dialog. <halfline> magcius: so maybe the answer is add the sub group to the focus manager and then in st_focus_manager_stage_event keep on trucking if navigate_focus fails <magcius> halfline, makes sense to me <magcius> halfline, you shouldn't need to add the subgroup in that case, actually <magcius> Actually. <magcius> halfline, how were you implementing the navigate_focus override? JS StWidget subclass? <halfline> magcius: yea i just got rid of this.actor <halfline> and instead made the user list extend St.ScrollView <halfline> or so <halfline> i guess the other option is to do navigate_focus from LoginDialog itself <halfline> then modalDialog will need to extend StWidget <halfline> if we did that though, we would have direct control over which elements get focus <halfline> anyway, going to put it down for now
Has anybody looked more at this ? We really need working keynav on the login screen
You suggest that TAB works on gdm-login for listed users only, but on gdm 3.4.1-3 I cannot choose between users at all, neither using the arrow keys nor the TAB key. →→ There might be NO keyboard support in general, not only for non-listed users. Is this a problem related to my computer; should I open a new bug report? If not, this bug should be renamed to "Impossible to use keyboard to login".
I think TAB should switch between username entries, and ENTER should select them. Both does not work.
(In reply to comment #7) > You suggest that TAB works on gdm-login for listed users only, but on gdm > 3.4.1-3 I cannot choose between users at all, neither using the arrow keys nor > the TAB key. That version is about 6 months old - a lot has changed in that time :-)
Ouch... I'm sorry.(In reply to comment #9) > (In reply to comment #7) > > You suggest that TAB works on gdm-login for listed users only, but on gdm > > 3.4.1-3 I cannot choose between users at all, neither using the arrow keys nor > > the TAB key. > > That version is about 6 months old - a lot has changed in that time :-) Ouch... I'm sorry.
Ha! I managed to accidentally fix this in bug 685201, closing \o/ *** This bug has been marked as a duplicate of bug 685201 ***
In case anyone is curious, I found the same issue in bug 684730 and tracked down the root reason ...
woohoo