diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2015-10-02 08:52:18 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2015-10-02 08:52:18 +0200 |
commit | f1431409454f3b03c7e7ecb3a119c8b552c3443f (patch) | |
tree | f97038addf3283cfbb2015fcb123494d0f7fee73 /opentrack/win32-shortcuts.cpp | |
parent | 4bc6c9e69170f2e4aa9bdcd908fda7027bcae044 (diff) | |
parent | 68d33b0c99cfac8f89c2224d457e1568232896f7 (diff) |
Merge branch 'unstable' into trackhat-ui
* unstable:
shortcuts: use dinput for consistency on win32
shortcuts: use our own timer, other one is thread-bound
shortcuts: implement dinput -> qt conversion
shortcuts: rework KeybindingWorker for win32
Diffstat (limited to 'opentrack/win32-shortcuts.cpp')
-rw-r--r-- | opentrack/win32-shortcuts.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/opentrack/win32-shortcuts.cpp b/opentrack/win32-shortcuts.cpp index d4107949..bd51ae88 100644 --- a/opentrack/win32-shortcuts.cpp +++ b/opentrack/win32-shortcuts.cpp @@ -111,6 +111,23 @@ QList<win_key> windows_key_sequences = win_key(DIK_SPACE, Qt::Key::Key_Space), }); +bool win_key::to_qt(const Key& k, QKeySequence& qt_, Qt::KeyboardModifiers &mods) +{ + for (auto& wk : windows_key_sequences) + { + if (wk.win == k.keycode) + { + qt_ = wk.qt; + mods = Qt::NoModifier; + if (k.ctrl) mods |= Qt::ControlModifier; + if (k.shift) mods |= Qt::ShiftModifier; + if (k.alt) mods |= Qt::AltModifier; + return true; + } + } + return false; +} + bool win_key::from_qt(QKeySequence qt_, int& dik, Qt::KeyboardModifiers& mods) { auto qt = static_cast<QVariant>(qt_).toInt(); |