Comment 1 for bug 722666

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.