Drop InputEventFilter::passToWaylandServer()

It's not really worth having a dedicated function just for the switch
statement. It's also inconsistent with the rest of event dispatching.
wilder/Plasma/6.3
Vlad Zahorodnii 1 year ago
parent 51d32ecc38
commit 494951bfd8
  1. 34
      src/input.cpp
  2. 1
      src/input.h
  3. 15
      src/popup_input_filter.cpp

@ -248,27 +248,6 @@ bool InputEventFilter::tabletPadRingEvent(int number, int position, bool isFinge
return false;
}
void InputEventFilter::passToWaylandServer(QKeyEvent *event)
{
Q_ASSERT(waylandServer());
if (event->isAutoRepeat()) {
return;
}
SeatInterface *seat = waylandServer()->seat();
const int keyCode = event->nativeScanCode();
switch (event->type()) {
case QEvent::KeyPress:
seat->notifyKeyboardKey(keyCode, KeyboardKeyState::Pressed);
break;
case QEvent::KeyRelease:
seat->notifyKeyboardKey(keyCode, KeyboardKeyState::Released);
break;
default:
break;
}
}
bool InputEventFilter::passToInputMethod(QKeyEvent *event)
{
if (!kwinApp()->inputMethod()) {
@ -1891,10 +1870,19 @@ public:
// handled by Wayland client
return false;
}
auto seat = waylandServer()->seat();
input()->keyboard()->update();
auto seat = waylandServer()->seat();
seat->setTimestamp(event->timestamp());
passToWaylandServer(event);
switch (event->type()) {
case QEvent::KeyPress:
seat->notifyKeyboardKey(event->nativeScanCode(), KeyboardKeyState::Pressed);
break;
case QEvent::KeyRelease:
seat->notifyKeyboardKey(event->nativeScanCode(), KeyboardKeyState::Released);
break;
default:
break;
}
return true;
}
bool touchDown(qint32 id, const QPointF &pos, std::chrono::microseconds time) override

@ -484,7 +484,6 @@ public:
virtual bool tabletPadRingEvent(int number, int position, bool isFinger, const TabletPadId &tabletPadId, std::chrono::microseconds time);
protected:
void passToWaylandServer(QKeyEvent *event);
bool passToInputMethod(QKeyEvent *event);
private:

@ -93,8 +93,21 @@ bool PopupInputFilter::keyEvent(KeyEvent *event)
event->isAutoRepeat());
} else if (qobject_cast<WaylandWindow *>(last)) {
if (!passToInputMethod(event)) {
if (event->isAutoRepeat()) {
return true;
}
waylandServer()->seat()->setTimestamp(event->timestamp());
passToWaylandServer(event);
switch (event->type()) {
case QEvent::KeyPress:
waylandServer()->seat()->notifyKeyboardKey(event->nativeScanCode(), KeyboardKeyState::Pressed);
break;
case QEvent::KeyRelease:
waylandServer()->seat()->notifyKeyboardKey(event->nativeScanCode(), KeyboardKeyState::Released);
break;
default:
break;
}
}
}

Loading…
Cancel
Save