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()