Comment 2 for bug 1479892

Revision history for this message
Gerry Boland (gerboland) wrote :

Hey Aritchie,
other keys are working ok I suppose??

I suppose the mission is to figure out where those keypresses are going. If you see shell/Shell.qml, there's this code:

    Keys.onPressed: {
        if (event.key == Qt.Key_Escape || (event.key == Qt.Key_F4 && event.modifiers == Qt.AltModifier )) {
            declarativeView.forceDeactivateWindow()
        }
    }

which does the dismiss action. I believe this Keys.onPressed will only work if its parent Item has focus. In QML, the "focus" property indicates it *can* have input focus, and "activeFocus" indicates it *does* have input focus. When I say "input focus" I mean if you press a key, it will get it.

My QML1 is rusty now, but maybe try adding a
onActiveFocusChanged: console.log("Shell.qml: activeFocus changed", activeFocus)
and see at what time it prints.

It may be on first activation, the active focus is not correctly set. Or on first activation, the window containing the Dash/Runner does not think it has input focus (but it does since you can type into it).

Focus topics are tricky as hell, good luck!

Note unfortunately unity-2d is in maintenance mode, so we can't devote resources to fixing non-critical issues. Apologies
-G