diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2015-07-25 11:43:10 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2015-07-25 11:43:10 +0200 |
commit | 10ac081b3c4ebb9b29b81b30f5efe6622f4212bc (patch) | |
tree | fedfe7efc494145d0b46e91ba5a94c47cb0c1b6f /facetracknoir/keyboard.h | |
parent | 6baa8ca1070612e5d7cbae7aa62cbe4a9e51ad40 (diff) | |
parent | 24538cf3a3a91481851618791b11be81437563e4 (diff) |
Merge branch 'unstable' into trackhat-ui
Diffstat (limited to 'facetracknoir/keyboard.h')
-rw-r--r-- | facetracknoir/keyboard.h | 37 |
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); +}; |