#include <QtDeclarative>
#include "qmlapplicationviewer.h"
#include "btconnector.h"
+#include "xtstadapter.h"
Q_DECL_EXPORT int main(int argc, char *argv[])
{
QScopedPointer<QApplication> app(createApplication(argc, argv));
qmlRegisterType<BtConnector>("qzeecontrol", 1, 0, "BtConnector");
+ qmlRegisterType<XtstAdapter>("qzeecontrol", 1, 0, "XtstAdapter");
QmlApplicationViewer viewer;
viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
labelD.color = d ? "red" : "blue"
}
- onAChanged: console.log("A changed to: " + val)
- onBChanged: console.log("B changed to: " + val)
- onCChanged: console.log("C changed to: " + val)
- onDChanged: console.log("D changed to: " + val)
+ onAChanged: {
+ console.log("A changed to: " + val)
+ if(val){
+ xtstAdapter.sendKeyPress("a");
+ }
+ }
+ onBChanged: {
+ console.log("B changed to: " + val)
+ if(val){
+ xtstAdapter.sendKeyPress("b");
+ }
+ }
+ onCChanged: {
+ console.log("C changed to: " + val)
+ if(val){
+ xtstAdapter.sendKeyPress("c");
+ }
+ }
+ onDChanged: {
+ console.log("D changed to: " + val)
+ if(val){
+ xtstAdapter.sendKeyPress("d");
+ }
+ }
+ }
+
+ XtstAdapter{
+ id: xtstAdapter
}
}
signals:
public slots:
+ void sendKeyPress(QString key){
+ int keyCode = XKeysymToKeycode(display, XStringToKeysym(key.toLocal8Bit().constData()));
+ XTestFakeKeyEvent(display, keyCode, true, 0);
+ XTestFakeKeyEvent(display, keyCode, false, 0);
+ XFlush(display);
+ }
private:
Display *display;