summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/testlite/qtestlitekeyboard.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/testlite/qtestlitekeyboard.h')
-rw-r--r--src/plugins/platforms/testlite/qtestlitekeyboard.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/plugins/platforms/testlite/qtestlitekeyboard.h b/src/plugins/platforms/testlite/qtestlitekeyboard.h
new file mode 100644
index 0000000..65ead16
--- /dev/null
+++ b/src/plugins/platforms/testlite/qtestlitekeyboard.h
@@ -0,0 +1,35 @@
+#ifndef QTESTLITEKEYBOARD_H
+#define QTESTLITEKEYBOARD_H
+
+#include "qtestliteintegration.h"
+
+class QTestLiteKeyboard
+{
+public:
+ QTestLiteKeyboard(QTestLiteScreen *screen);
+
+ void changeLayout();
+
+ void handleKeyEvent(QWidget *widget, QEvent::Type type, XKeyEvent *ev);
+
+ Qt::KeyboardModifiers translateModifiers(int s);
+
+private:
+
+ void setMask(KeySym sym, uint mask);
+ int translateKeySym(uint key) const;
+ QString translateKeySym(KeySym keysym, uint xmodifiers,
+ int &code, Qt::KeyboardModifiers &modifiers,
+ QByteArray &chars, int &count);
+
+ QTestLiteScreen *m_screen;
+
+ uint m_alt_mask;
+ uint m_super_mask;
+ uint m_hyper_mask;
+ uint m_meta_mask;
+ uint m_mode_switch_mask;
+ uint m_num_lock_mask;
+};
+
+#endif // QTESTLITEKEYBOARD_H