summaryrefslogtreecommitdiffhomepage
path: root/facetracknoir/keyboard.h
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2015-07-25 11:43:10 +0200
committerStanislaw Halik <sthalik@misaki.pl>2015-07-25 11:43:10 +0200
commit10ac081b3c4ebb9b29b81b30f5efe6622f4212bc (patch)
treefedfe7efc494145d0b46e91ba5a94c47cb0c1b6f /facetracknoir/keyboard.h
parent6baa8ca1070612e5d7cbae7aa62cbe4a9e51ad40 (diff)
parent24538cf3a3a91481851618791b11be81437563e4 (diff)
Merge branch 'unstable' into trackhat-ui
Diffstat (limited to 'facetracknoir/keyboard.h')
-rw-r--r--facetracknoir/keyboard.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/facetracknoir/keyboard.h b/facetracknoir/keyboard.h
new file mode 100644
index 00000000..a7673f8f
--- /dev/null
+++ b/facetracknoir/keyboard.h
@@ -0,0 +1,37 @@
+#pragma once
+#include "ui_keyboard_listener.h"
+#include <QLabel>
+#include <QKeyEvent>
+#include <QDebug>
+
+class KeyboardListener : public QLabel
+{
+ Q_OBJECT
+ Ui_keyboard_listener ui;
+public:
+ KeyboardListener(QWidget* parent = nullptr) : QLabel(parent)
+ {
+ ui.setupUi(this);
+ setFocusPolicy(Qt::StrongFocus);
+ }
+ void keyPressEvent(QKeyEvent* event) override
+ {
+ //qDebug() << "k" << (event->key() | event->modifiers());
+ switch (event->key() | event->modifiers())
+ {
+ case 83886113: // ctrl
+ case 50331680: // shift
+ case 150994979: // alt
+ case 218103841: // ctrl+alt
+ case 117440545: // ctrl+shift
+ case 184549408: // alt+shift
+ case 251658272: // ctrl+alt+shift
+ break;
+ default:
+ emit key_pressed(QKeySequence(event->key() | event->modifiers()));
+ break;
+ }
+ }
+signals:
+ void key_pressed(QKeySequence k);
+};