summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb/qxcbconnection.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbconnection.h')
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/plugins/platforms/xcb/qxcbconnection.h b/src/plugins/platforms/xcb/qxcbconnection.h
index f96541318c..60a4efff4e 100644
--- a/src/plugins/platforms/xcb/qxcbconnection.h
+++ b/src/plugins/platforms/xcb/qxcbconnection.h
@@ -311,6 +311,8 @@ public:
void start();
+ void registerEventDispatcher(QAbstractEventDispatcher *dispatcher);
+
signals:
void eventPending();
@@ -410,7 +412,6 @@ public:
void sync();
- void flush() { xcb_flush(m_connection); }
void handleXcbError(xcb_generic_error_t *error);
void handleXcbEvent(xcb_generic_event_t *event);
@@ -464,8 +465,11 @@ public:
void handleEnterEvent(const xcb_enter_notify_event_t *);
#endif
+ QXcbEventReader *eventReader() const { return m_reader; }
+
public slots:
void syncWindow(QXcbWindow *window);
+ void flush() { xcb_flush(m_connection); }
private slots:
void processXcbEvents();
@@ -496,27 +500,32 @@ private:
#ifdef XCB_USE_XINPUT2
void initializeXInput2();
void finalizeXInput2();
+ void xi2SetupDevices();
XInput2DeviceData *deviceForId(int id);
void xi2HandleEvent(xcb_ge_event_t *event);
+ void xi2HandleHierachyEvent(void *event);
int m_xiOpCode, m_xiEventBase, m_xiErrorBase;
#ifndef QT_NO_TABLETEVENT
struct TabletData {
- TabletData() : deviceId(0), down(false), serialId(0), inProximity(false) { }
+ TabletData() : deviceId(0), pointerType(QTabletEvent::UnknownPointer),
+ tool(QTabletEvent::Stylus), down(false), serialId(0), inProximity(false) { }
int deviceId;
QTabletEvent::PointerType pointerType;
+ QTabletEvent::TabletDevice tool;
bool down;
qint64 serialId;
bool inProximity;
struct ValuatorClassInfo {
- ValuatorClassInfo() : minVal(0), maxVal(0) { }
+ ValuatorClassInfo() : minVal(0.), maxVal(0.), curVal(0.) { }
double minVal;
double maxVal;
+ double curVal;
int number;
};
QHash<int, ValuatorClassInfo> valuatorInfo;
};
bool xi2HandleTabletEvent(void *event, TabletData *tabletData);
- void xi2ReportTabletEvent(const TabletData &tabletData, void *event);
+ void xi2ReportTabletEvent(TabletData &tabletData, void *event);
QVector<TabletData> m_tabletData;
#endif
struct ScrollingDevice {