diff options
Diffstat (limited to 'facetracknoir/keyboard.h')
-rw-r--r-- | facetracknoir/keyboard.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/facetracknoir/keyboard.h b/facetracknoir/keyboard.h new file mode 100644 index 00000000..65f5c58e --- /dev/null +++ b/facetracknoir/keyboard.h @@ -0,0 +1,33 @@ +#pragma once +#include "ui_keyboard_listener.h" +#include <QLabel> +#include <QKeyEvent> + +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 + { + { + switch (event->key() | event->modifiers()) + { + case 83886113: // ctrl + case 50331680: // shift + case 150994979: // alt + case 16777250: // meta + return; + default: break; + } + } + emit key_pressed(QKeySequence(event->key())); + } +signals: + void key_pressed(QKeySequence k); +}; |