Keyboard navigation: launcher key navigation mode doesn't give the focus to the Launcher

Bug #722666 reported by Alejandro Piñeiro
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Unity
Fix Released
Undecided
Jay Taoko
unity (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Pressing Alt+F1 starts the key navigation mode on the launcher.

But, the object that has the focus is not the Launcher. As far as I see it is the BaseWindow containing the Launcher the one that receives the focus. At least, the BaseWindow is the one that emit the signal InputArea::OnStartFocus (when the key nav starts) and the signal InputArea::OnEndFocus (when the base window lose the focus, ie, key nav stops after press Esc).

In my opinion this is somewhat confusing, as in the end it is the Launcher that it is managing the effect of pressing a key (ie Launcher::RecvKeyPressed).

I made some experiments (on this branch [1]) trying to solve it by calling by hand InputArea::ForceStartFocus but that doesn't work. Anyway, after review the implementation of this I'm not sure if it is correctly implemented as it ends calling the method m_EventHandler.ForceMouseFocus (x, y, m_Geometry), when I want a key focus.

From the POV of accessibility, this is a case where it would be more convenient to have the focus on the Launcher, as it would be the one that in the end will implement the selection stuff for each icon.

[1] https://code.launchpad.net/~apinheiro/unity/focus-on-launcher

Tags: a11y
Changed in unity:
assignee: nobody → Jay Taoko (jaytaoko)
Revision history for this message
Jay Taoko (jaytaoko) wrote :

I implemented the following call in BaseWindow:
    void SetEnterFocusInputArea (InputArea *input_area);

What this does is set an input area (such as the Launcher) as the view that receives the keyboard focus when the BaseWindow responds to the event NUX_WINDOW_ENTER_FOCUS.
When Alt+F1 is activated, we raise the position of the Launcher's BaseWindow to the top of the BaseWindow stack. That way, our Launcher BaseWindow is the first (and only one) to process the NUX_WINDOW_ENTER_FOCUS event.
If an input area was set with SetEnterFocusInputArea then that input area will get the keyboard focus and the base window will not get the keyboard focus (and emit the signal OnStartFocus). If an input area wasn't set, then it is the Launcher BaseWindow that will receive the keyboard focus.

Revision history for this message
Alejandro Piñeiro (apinheiro) wrote :

In order to try this new functionality I tried the branch bzr branch lp:~unity-team/nux/nux.event-fixes/

Unfortunately, I was not able to use it, as for any reason with this branch the Launcher is not visible at all, and pressing Alt+F1 doesn't provide the keynavmode. Don't know if caused for the specific commit :

revno: 238
committer: Jay Taoko <email address hidden>
branch nick: trunk
timestamp: Wed 2011-02-23 15:59:46 -0500
message:
  * Support for accessibility

Or the other ones included on this branch.

Tomorrow I will just try this commit over the current nux master branch, in order to test if it works.

Revision history for this message
Alex Launi (alexlauni) wrote :

Can you guys please update bug statuses when you do this stuff?

Changed in unity:
status: New → Triaged
Changed in unity (Ubuntu):
status: New → Triaged
Revision history for this message
Alejandro Piñeiro (apinheiro) wrote :

Today I noticed that the branch nux.event-fixes was updated, so I tried it again. I have the same back luck. The Launcher is not visible at all, and it doesn't get the keynavmode pressing Alt+F1 (or at least I can't use it)

So I tried the option of apply that commit (support for accessibility) on the master branch, but I was not able, as this commit depends on previous changes of this branch.

So I was not able to test this change.

Revision history for this message
Alejandro Piñeiro (apinheiro) wrote :

This problem was fixed after the last nux and unity update. Closing as fixed.

Changed in unity:
status: Triaged → Fix Committed
Changed in unity (Ubuntu):
status: Triaged → Fix Committed
Omer Akram (om26er)
Changed in unity:
status: Fix Committed → Fix Released
Changed in unity (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.