summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/openkode/qopenkodeeventloopintegration.cpp
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@nokia.com>2010-08-02 12:07:12 +0200
committerJørgen Lind <jorgen.lind@nokia.com>2010-08-02 15:29:40 +0200
commit6e0edcce4c215f01416a5ee8467b7abe4665e592 (patch)
tree9f628f973a25a75a10d5010d6da42b941bc18bc8 /src/plugins/platforms/openkode/qopenkodeeventloopintegration.cpp
parentda0d594f7d1b01145c5ec47f36d039435e04e7a5 (diff)
Make openkode plugin handle events
And make it also work without a gui manager
Diffstat (limited to 'src/plugins/platforms/openkode/qopenkodeeventloopintegration.cpp')
-rw-r--r--src/plugins/platforms/openkode/qopenkodeeventloopintegration.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/plugins/platforms/openkode/qopenkodeeventloopintegration.cpp b/src/plugins/platforms/openkode/qopenkodeeventloopintegration.cpp
index e21e1d7323..bc92d0ece7 100644
--- a/src/plugins/platforms/openkode/qopenkodeeventloopintegration.cpp
+++ b/src/plugins/platforms/openkode/qopenkodeeventloopintegration.cpp
@@ -1,12 +1,57 @@
#include "qopenkodeeventloopintegration.h"
+#include <QDebug>
+
#include <KD/kd.h>
+#include <KD/ATX_keyboard.h>
QT_BEGIN_NAMESPACE
+static const int QT_EVENT_WAKEUP_EVENTLOOP = KD_EVENT_USER + 1;
+
+void kdprocessevent( const KDEvent *event)
+{
+ switch (event->type) {
+ case KD_EVENT_INPUT:
+ qDebug() << "KD_EVENT_INPUT";
+ break;
+ case KD_EVENT_INPUT_POINTER:
+ qDebug() << "KD_EVENT_INPUT_POINTER";
+ break;
+ case KD_EVENT_WINDOW_CLOSE:
+ qDebug() << "KD_EVENT_WINDOW_CLOSE";
+ break;
+ case KD_EVENT_WINDOWPROPERTY_CHANGE:
+ qDebug() << "KD_EVENT_WINDOWPROPERTY_CHANGE";
+ qDebug() << event->data.windowproperty.pname;
+ break;
+ case KD_EVENT_WINDOW_FOCUS:
+ qDebug() << "KD_EVENT_WINDOW_FOCUS";
+ break;
+ case KD_EVENT_WINDOW_REDRAW:
+ qDebug() << "KD_EVENT_WINDOW_REDRAW";
+ break;
+ case KD_EVENT_USER:
+ qDebug() << "KD_EVENT_USER";
+ break;
+ case KD_EVENT_INPUT_KEY_ATX:
+ qDebug() << "KD_EVENT_INPUT_KEY_ATX";
+ break;
+ case QT_EVENT_WAKEUP_EVENTLOOP:
+// qDebug() << "QT_EVENT_WAKEUP_EVENTLOOP";
+ break;
+ default:
+ break;
+ }
+
+ kdDefaultEvent(event);
+
+}
+
QOpenKODEEventLoopIntegration::QOpenKODEEventLoopIntegration()
{
m_kdThread = kdThreadSelf();
+ kdInstallCallback(&kdprocessevent,QT_EVENT_WAKEUP_EVENTLOOP,this);
}
void QOpenKODEEventLoopIntegration::processEvents(qint64 msec)
@@ -25,6 +70,8 @@ void QOpenKODEEventLoopIntegration::processEvents(qint64 msec)
void QOpenKODEEventLoopIntegration::wakeup()
{
KDEvent *event = kdCreateEvent();
+ event->type = QT_EVENT_WAKEUP_EVENTLOOP;
+ event->userptr = this;
kdPostThreadEvent(event,m_kdThread);
}