19#include <QGuiApplication> 
   28    KSharedConfig::Ptr kwinSettings = kwinApp()->config();
 
   29    m_enableDoubleTap = kwinSettings->group(QStringLiteral(
"Wayland")).readEntry<
bool>(
"DoubleTapWakeup", 
true);
 
   30    if (
Session *session = kwinApp()->outputBackend()->session()) {
 
   31        connect(session, &
Session::awoke, 
this, &DpmsInputEventFilter::notify);
 
 
   54    if (event->type() == QKeyEvent::KeyPress) {
 
   56    } 
else if (event->type() == QKeyEvent::KeyRelease) {
 
 
   64    if (m_enableDoubleTap) {
 
   65        if (m_touchPoints.isEmpty()) {
 
   66            if (!m_doubleTapTimer.isValid()) {
 
   68                m_doubleTapTimer.start();
 
   70                if (m_doubleTapTimer.elapsed() < qApp->doubleClickInterval()) {
 
   74                    m_doubleTapTimer.restart();
 
   79            m_doubleTapTimer.invalidate();
 
 
   89    if (m_enableDoubleTap) {
 
   90        m_touchPoints.removeAll(
id);
 
   91        if (m_touchPoints.isEmpty() && m_doubleTapTimer.isValid() && m_secondTap) {
 
   92            if (m_doubleTapTimer.elapsed() < qApp->doubleClickInterval()) {
 
   96            m_doubleTapTimer.invalidate();
 
 
  109void DpmsInputEventFilter::notify()
 
  112    for (
Output *output : outputs) {
 
  118#include "moc_dpmsinputeventfilter.cpp" 
void setTimestamp(std::chrono::microseconds time)
SeatInterface * seat() const
QList< Output * > outputs() const
WaylandServer * waylandServer()