~mterry/unity8/oobe-revert-geonames

« back to all changes in this revision

Viewing changes to qml/Components/PhysicalKeysMapper.qml

  • Committer: Michael Terry
  • Date: 2016-03-11 17:51:18 UTC
  • mfrom: (1821.227.75 unity8)
  • Revision ID: michael.terry@canonical.com-20160311175118-6za2cj41c21d88ha
Merge silo 64 (soon to be trunk)

Show diffs side-by-side

added added

removed removed

Lines of Context:
42
42
    signal screenshotTriggered;
43
43
 
44
44
    readonly property bool altTabPressed: d.altTabPressed
 
45
    readonly property bool superPressed: d.superPressed
 
46
    readonly property bool superTabPressed: d.superTabPressed
45
47
 
46
48
    property int powerKeyLongPressTime: 2000
47
49
 
48
50
    // For testing. If running windowed (e.g. tryShell), Alt+Tab is taken by the
49
51
    // running desktop, set this to true to use Ctrl+Tab instead.
50
52
    property bool controlInsteadOfAlt: false
 
53
    property bool controlInsteadOfSuper: false
51
54
 
52
55
    QtObject {
53
56
        id: d
59
62
        property bool altPressed: false
60
63
        property bool altTabPressed: false
61
64
 
 
65
        property bool superPressed: false
 
66
        property bool superTabPressed: false
 
67
 
62
68
        property var powerButtonPressStart: 0
63
69
 
64
70
        // We need to eat ALT presses until we know what they're for (Alt+Tab or going to the app?)
119
125
                event.accepted = true;
120
126
                d.altPressInjected = false;
121
127
            }
 
128
 
 
129
        // Adding MetaModifier here because that's what keyboards do. Pressing Super_L actually gives
 
130
        // Super_L + MetaModifier. This helps to make sure we only invoke superPressed if no other
 
131
        // Modifier is pressed too.
 
132
        } else if (((event.key == Qt.Key_Super_L || event.key == Qt.Key_Super_R) && event.modifiers === Qt.MetaModifier)
 
133
                    || (root.controlInsteadOfSuper && event.key == Qt.Key_Control)
 
134
                    ) {
 
135
            d.superPressed = true;
122
136
        } else if (event.key == Qt.Key_Tab) {
123
137
            if (d.altPressed && !d.altTabPressed) {
124
138
                d.altTabPressed = true;
125
139
                event.accepted = true;
126
140
            }
 
141
            if (d.superPressed && !d.superTabPressed) {
 
142
                d.superTabPressed = true;
 
143
                event.accepted = true;
 
144
            }
127
145
        }
128
146
    }
129
147
 
154
172
            if (d.altTabPressed) {
155
173
                event.accepted = true;
156
174
            }
 
175
        } else if (event.key == Qt.Key_Super_L || event.key == Qt.Key_Super_R || (root.controlInsteadOfSuper && event.key == Qt.Key_Control)) {
 
176
            d.superPressed = false;
 
177
            if (d.superTabPressed) {
 
178
                d.superTabPressed = false;
 
179
                event.accepted = true;
 
180
            }
157
181
        }
158
182
    }
159
183
}