diff options
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbconnection.cpp')
-rw-r--r-- | src/plugins/platforms/xcb/qxcbconnection.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp index 6f1a3e3c19..7d59496db3 100644 --- a/src/plugins/platforms/xcb/qxcbconnection.cpp +++ b/src/plugins/platforms/xcb/qxcbconnection.cpp @@ -53,6 +53,7 @@ #include "qxcbsystemtraytracker.h" #include "qxcbglintegrationfactory.h" #include "qxcbglintegration.h" +#include "qxcbcursor.h" #include <QSocketNotifier> #include <QAbstractEventDispatcher> @@ -2275,6 +2276,20 @@ bool QXcbConnection::xEmbedSystemTrayVisualHasAlphaChannel() return connection->systemTrayTracker() && connection->systemTrayTracker()->visualHasAlphaChannel(); } +Qt::MouseButtons QXcbConnection::queryMouseButtons() const +{ + int stateMask = 0; + QXcbCursor::queryPointer(connection(), 0, 0, &stateMask); + return translateMouseButtons(stateMask); +} + +Qt::KeyboardModifiers QXcbConnection::queryKeyboardModifiers() const +{ + int stateMask = 0; + QXcbCursor::queryPointer(connection(), 0, 0, &stateMask); + return keyboard()->translateModifiers(stateMask); +} + bool QXcbConnection::event(QEvent *e) { if (e->type() == QEvent::User + 1) { |