wayland: Switch to new keyboard event notify methods in SeatInterface

remotes/origin/work/janb/no-tabbox-confusion
Vlad Zahorodnii 5 years ago
parent 57aec19744
commit 6fdfd8be5f
  1. 10
      src/input.cpp
  2. 6
      src/inputmethod.cpp
  3. 5
      src/popup_input_filter.cpp
  4. 2
      src/xkb.cpp

@ -233,12 +233,14 @@ void InputEventFilter::passToWaylandServer(QKeyEvent *event)
if (event->isAutoRepeat()) { if (event->isAutoRepeat()) {
return; return;
} }
KWaylandServer::SeatInterface *seat = waylandServer()->seat();
switch (event->type()) { switch (event->type()) {
case QEvent::KeyPress: case QEvent::KeyPress:
waylandServer()->seat()->keyboard()->keyPressed(event->nativeScanCode()); seat->notifyKeyboardKey(event->nativeScanCode(), KWaylandServer::KeyboardKeyState::Pressed);
break; break;
case QEvent::KeyRelease: case QEvent::KeyRelease:
waylandServer()->seat()->keyboard()->keyReleased(event->nativeScanCode()); seat->notifyKeyboardKey(event->nativeScanCode(), KWaylandServer::KeyboardKeyState::Released);
break; break;
default: default:
break; break;
@ -343,10 +345,10 @@ public:
} }
switch (event->type()) { switch (event->type()) {
case QEvent::KeyPress: case QEvent::KeyPress:
seat->keyboard()->keyPressed(event->nativeScanCode()); seat->notifyKeyboardKey(event->nativeScanCode(), KWaylandServer::KeyboardKeyState::Pressed);
break; break;
case QEvent::KeyRelease: case QEvent::KeyRelease:
seat->keyboard()->keyReleased(event->nativeScanCode()); seat->notifyKeyboardKey(event->nativeScanCode(), KWaylandServer::KeyboardKeyState::Released);
break; break;
default: default:
break; break;

@ -364,11 +364,13 @@ void InputMethod::keysymReceived(quint32 serial, quint32 time, quint32 sym, bool
} }
auto t3 = waylandServer()->seat()->textInputV3(); auto t3 = waylandServer()->seat()->textInputV3();
if (t3 && t3->isEnabled()) { if (t3 && t3->isEnabled()) {
KWaylandServer::KeyboardKeyState state;
if (pressed) { if (pressed) {
waylandServer()->seat()->keyboard()->keyPressed(keysymToKeycode(sym)); state = KWaylandServer::KeyboardKeyState::Pressed;
} else { } else {
waylandServer()->seat()->keyboard()->keyReleased(keysymToKeycode(sym)); state = KWaylandServer::KeyboardKeyState::Released;
} }
waylandServer()->seat()->notifyKeyboardKey(keysymToKeycode(sym), state);
return; return;
} }
} }

@ -11,7 +11,6 @@
#include "wayland_server.h" #include "wayland_server.h"
#include "workspace.h" #include "workspace.h"
#include <KWaylandServer/keyboard_interface.h>
#include <KWaylandServer/seat_interface.h> #include <KWaylandServer/seat_interface.h>
#include <QMouseEvent> #include <QMouseEvent>
@ -84,10 +83,10 @@ bool PopupInputFilter::keyEvent(QKeyEvent *event)
seat->setFocusedKeyboardSurface(last->surface()); seat->setFocusedKeyboardSurface(last->surface());
switch (event->type()) { switch (event->type()) {
case QEvent::KeyPress: case QEvent::KeyPress:
seat->keyboard()->keyPressed(event->nativeScanCode()); seat->notifyKeyboardKey(event->nativeScanCode(), KWaylandServer::KeyboardKeyState::Pressed);
break; break;
case QEvent::KeyRelease: case QEvent::KeyRelease:
seat->keyboard()->keyReleased(event->nativeScanCode()); seat->notifyKeyboardKey(event->nativeScanCode(), KWaylandServer::KeyboardKeyState::Released);
break; break;
default: default:
break; break;

@ -385,7 +385,7 @@ void Xkb::forwardModifiers()
if (!m_seat || !m_seat->keyboard()) { if (!m_seat || !m_seat->keyboard()) {
return; return;
} }
m_seat->keyboard()->updateModifiers(m_modifierState.depressed, m_seat->notifyKeyboardModifiers(m_modifierState.depressed,
m_modifierState.latched, m_modifierState.latched,
m_modifierState.locked, m_modifierState.locked,
m_currentLayout); m_currentLayout);

Loading…
Cancel
Save