diff options
Diffstat (limited to 'src/plugins/platforms/wasm/qwasmeventtranslator.h')
-rw-r--r-- | src/plugins/platforms/wasm/qwasmeventtranslator.h | 32 |
1 files changed, 10 insertions, 22 deletions
diff --git a/src/plugins/platforms/wasm/qwasmeventtranslator.h b/src/plugins/platforms/wasm/qwasmeventtranslator.h index d098c10b77..8f4e9f6d05 100644 --- a/src/plugins/platforms/wasm/qwasmeventtranslator.h +++ b/src/plugins/platforms/wasm/qwasmeventtranslator.h @@ -12,6 +12,8 @@ #include <QtGui/qinputdevice.h> #include <QHash> #include <QCursor> +#include "qwasmevent.h" +#include "qwasmplatform.h" QT_BEGIN_NAMESPACE @@ -22,38 +24,24 @@ class QWasmEventTranslator : public QObject Q_OBJECT public: - + struct TranslatedEvent + { + QEvent::Type type; + Qt::Key key; + QString text; + }; explicit QWasmEventTranslator(); ~QWasmEventTranslator(); - template <typename Event> - QFlags<Qt::KeyboardModifier> translatKeyModifier(const Event *event); - - static Qt::Key translateEmscriptKey(const EmscriptenKeyboardEvent *emscriptKey); - QFlags<Qt::KeyboardModifier> translateKeyboardEventModifier(const EmscriptenKeyboardEvent *keyEvent); - QFlags<Qt::KeyboardModifier> translateMouseEventModifier(const EmscriptenMouseEvent *mouseEvent); - QFlags<Qt::KeyboardModifier> translateTouchEventModifier(const EmscriptenTouchEvent *touchEvent); - static Qt::MouseButton translateMouseButton(unsigned short button); static QCursor cursorForMode(QWasmCompositor::ResizeMode mode); - QString getKeyText(const EmscriptenKeyboardEvent *keyEvent, Qt::Key key); - Qt::Key getKey(const EmscriptenKeyboardEvent *keyEvent); - void setStickyDeadKey(const EmscriptenKeyboardEvent *keyEvent); - - void setIsMac(bool is_mac) {g_usePlatformMacSpecifics = is_mac;}; - bool g_usePlatformMacSpecifics = false; - -Q_SIGNALS: - void getWindowAt(const QPoint &point, QWindow **window); -private: - static Qt::Key translateDeadKey(Qt::Key deadKey, Qt::Key accentBaseKey, bool is_mac = false); + TranslatedEvent translateKeyEvent(int emEventType, const EmscriptenKeyboardEvent *keyEvent); private: static quint64 getTimestamp(); Qt::Key m_emDeadKey = Qt::Key_unknown; - bool m_emStickyDeadKey = false; - + Qt::Key m_keyModifiedByDeadKeyOnPress = Qt::Key_unknown; }; QT_END_NAMESPACE |