Handle keyboard events during move/resize

When moving/resizing a window we don't want the keyboard events being
passed to the Clients. Instead we want to do the normal processing.

Unfortunately moving the window through the keyboard relies on warping
the pointer which is not (yet) available on Wayland. This means that this
is not yet working, but ending through enter/escape etc. is working as
expected.
This commit is contained in:
Martin Gräßlin 2013-07-02 14:00:08 +02:00
parent 6baf794f88
commit 882c2a4610

View file

@ -266,8 +266,13 @@ void InputRedirection::processKeyboardKey(uint32_t key, InputRedirection::Keyboa
static_cast< EffectsHandlerImpl* >(effects)->grabbedKeyboardEvent(&event);
return;
}
if (Client *c = workspace()->getMovingClient()) {
// TODO: this does not yet fully support moving of the Client
// cursor events change the cursor and on Wayland pointer warping is not possible
c->keyPressEvent(m_xkb->toQtKey(m_xkb->toKeysym(key)));
return;
}
#endif
// TODO: handle move resize
// check unmanaged
if (!workspace()->unmanagedList().isEmpty()) {
// TODO: better check whether this unmanaged should get the key event