Merge branch 'Plasma/5.9' into Plasma/5.10
This commit is contained in:
commit
6a4e9cbb58
3 changed files with 9 additions and 6 deletions
|
@ -340,16 +340,17 @@ void TestPointerConstraints::testBreakConstrainedPointer()
|
|||
// now try to break
|
||||
quint32 timestamp = 0;
|
||||
kwinApp()->platform()->keyboardKeyPressed(KEY_ESC, timestamp++);
|
||||
QVERIFY(keyboardLeftSpy.wait());
|
||||
QVERIFY(keyChangedSpy.wait());
|
||||
// and just waiting should break constrain
|
||||
QVERIFY(unlockedSpy.wait());
|
||||
QCOMPARE(keyboardLeftSpy.count(), 1);
|
||||
QCOMPARE(input()->pointer()->isConstrained(), false);
|
||||
// and should enter again
|
||||
QTRY_COMPARE(keyboardEnteredSpy.count(), 2);
|
||||
QCOMPARE(waylandServer()->seat()->focusedKeyboardSurface(), c->surface());
|
||||
kwinApp()->platform()->keyboardKeyReleased(KEY_ESC, timestamp++);
|
||||
QVERIFY(!keyChangedSpy.wait());
|
||||
QVERIFY(keyChangedSpy.isEmpty());
|
||||
QCOMPARE(keyChangedSpy.count(), 1);
|
||||
|
||||
// now lock again
|
||||
// need to move out and in
|
||||
|
|
|
@ -404,6 +404,10 @@ public:
|
|||
{
|
||||
QObject::connect(m_timer.data(), &QTimer::timeout,
|
||||
[this] {
|
||||
if (waylandServer()) {
|
||||
// break keyboard focus, this cancels the pressed ESC
|
||||
waylandServer()->seat()->setFocusedKeyboardSurface(nullptr);
|
||||
}
|
||||
input()->pointer()->breakPointerConstraints();
|
||||
input()->pointer()->blockPointerConstraints();
|
||||
// TODO: show notification
|
||||
|
@ -435,10 +439,8 @@ public:
|
|||
static_cast<KeyEvent*>(event)->modifiersRelevantForGlobalShortcuts() == Qt::KeyboardModifiers()) {
|
||||
// TODO: don't hard code
|
||||
m_timer->start(3000);
|
||||
input()->keyboard()->update();
|
||||
m_keyCode = event->nativeScanCode();
|
||||
passToWaylandServer(event);
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
|
|
@ -171,7 +171,7 @@ void KeyboardInputRedirection::update()
|
|||
break;
|
||||
} while (it != stacking.begin());
|
||||
}
|
||||
} else if (!input()->isSelectingWindow() && !input()->isBreakingPointerConstraints()) {
|
||||
} else if (!input()->isSelectingWindow()) {
|
||||
found = workspace()->activeClient();
|
||||
}
|
||||
if (found && found->surface()) {
|
||||
|
|
Loading…
Reference in a new issue