diff options
Diffstat (limited to 'gui/keyboard.h')
-rw-r--r-- | gui/keyboard.h | 57 |
1 files changed, 8 insertions, 49 deletions
diff --git a/gui/keyboard.h b/gui/keyboard.h index 690bd651..f4e5f7c0 100644 --- a/gui/keyboard.h +++ b/gui/keyboard.h @@ -1,12 +1,14 @@ #pragma once -#include "ui_keyboard_listener.h" + #ifdef _WIN32 -#include "logic/win32-shortcuts.h" -#include "dinput/keybinding-worker.hpp" +# include "logic/win32-shortcuts.h" +# include "dinput/keybinding-worker.hpp" #endif + +#include "ui_keyboard_listener.h" + #include <QDialog> #include <QKeyEvent> -#include <QDebug> class KeyboardListener : public QDialog { @@ -16,52 +18,9 @@ class KeyboardListener : public QDialog KeybindingWorker::Token token; #endif public: - KeyboardListener(QWidget* parent = nullptr) : QDialog(parent) -#ifdef _WIN32 - , token([&](const Key& k) { - if(k.guid != "") - { - int mods = 0; - if (k.alt) mods |= Qt::AltModifier; - if (k.shift) mods |= Qt::ShiftModifier; - if (k.ctrl) mods |= Qt::ControlModifier; - joystick_button_pressed(k.guid, k.keycode | mods, k.held); - } - else - { - Qt::KeyboardModifiers m; - QKeySequence k_; - if (win_key::to_qt(k, k_, m)) - key_pressed(static_cast<QVariant>(k_).toInt() | m); - } - }) -#endif - { - ui.setupUi(this); - setFocusPolicy(Qt::StrongFocus); - } + KeyboardListener(QWidget* parent = nullptr); #ifndef _WIN32 - void keyPressEvent(QKeyEvent* event) override - { - switch (event->key()) - { - case Qt::Key_Control: - case Qt::Key_Shift: - case Qt::Key_Meta: - case Qt::Key_Alt: - case Qt::Key_AltGr: - case Qt::Key_CapsLock: - case Qt::Key_NumLock: - break; - case Qt::Key_Escape: - close(); - break; - - default: - emit key_pressed(QKeySequence(event->key() | event->modifiers())); - break; - } - } + void keyPressEvent(QKeyEvent* event) override; #endif signals: void key_pressed(QKeySequence k); |