summaryrefslogtreecommitdiffstats
path: root/src/gui/embedded/qkbd_qws_p.h
diff options
context:
space:
mode:
authorIan Walters <ian.walters@nokia.com>2009-04-06 22:47:32 (GMT)
committerIan Walters <ian.walters@nokia.com>2009-04-06 22:47:32 (GMT)
commitbccb7b178c0255c74d648c3972895f66a70fd87b (patch)
treeead94cee89e2ffda4127201b734f1660f1389585 /src/gui/embedded/qkbd_qws_p.h
parent423d6052844b2026c8acc8826d6546d3afc494d3 (diff)
parentcf42b485ebc1ab3e1f0a804b8c4e404fa99f1f6f (diff)
downloadQt-bccb7b178c0255c74d648c3972895f66a70fd87b.zip
Qt-bccb7b178c0255c74d648c3972895f66a70fd87b.tar.gz
Qt-bccb7b178c0255c74d648c3972895f66a70fd87b.tar.bz2
Merge branch 'master' into contiguouscache
Diffstat (limited to 'src/gui/embedded/qkbd_qws_p.h')
-rw-r--r--src/gui/embedded/qkbd_qws_p.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/src/gui/embedded/qkbd_qws_p.h b/src/gui/embedded/qkbd_qws_p.h
new file mode 100644
index 0000000..f7dcdaf
--- /dev/null
+++ b/src/gui/embedded/qkbd_qws_p.h
@@ -0,0 +1,77 @@
+#ifndef QWSKEYBOARD_P_H
+#define QWSKEYBOARD_P_H
+
+#include <QDataStream>
+
+namespace QWSKeyboard {
+ const quint32 FileMagic = 0x514d4150; // 'QMAP'
+
+ struct Mapping {
+ quint16 keycode;
+ quint16 unicode;
+ quint32 qtcode;
+ quint8 modifiers;
+ quint8 flags;
+ quint16 special;
+
+ };
+
+ enum Flags {
+ IsDead = 0x01,
+ IsLetter = 0x02,
+ IsModifier = 0x04,
+ IsSystem = 0x08,
+ };
+
+ enum System {
+ SystemConsoleFirst = 0x0100,
+ SystemConsoleMask = 0x007f,
+ SystemConsoleLast = 0x017f,
+ SystemConsolePrevious = 0x0180,
+ SystemConsoleNext = 0x0181,
+ SystemReboot = 0x0200,
+ SystemZap = 0x0300,
+ };
+
+ struct Composing {
+ quint16 first;
+ quint16 second;
+ quint16 result;
+ };
+
+ enum Modifiers {
+ ModPlain = 0x00,
+ ModShift = 0x01,
+ ModAltGr = 0x02,
+ ModControl = 0x04,
+ ModAlt = 0x08,
+ ModShiftL = 0x10,
+ ModShiftR = 0x20,
+ ModCtrlL = 0x40,
+ ModCtrlR = 0x80,
+ // ModCapsShift = 0x100, // not supported!
+ };
+};
+
+inline QDataStream &operator>>(QDataStream &ds, QWSKeyboard::Mapping &m)
+{
+ return ds >> m.keycode >> m.unicode >> m.qtcode >> m.modifiers >> m.flags >> m.special;
+}
+
+inline QDataStream &operator<<(QDataStream &ds, const QWSKeyboard::Mapping &m)
+{
+ return ds << m.keycode << m.unicode << m.qtcode << m.modifiers << m.flags << m.special;
+}
+
+inline QDataStream &operator>>(QDataStream &ds, QWSKeyboard::Composing &c)
+{
+ return ds >> c.first >> c.second >> c.result;
+}
+
+inline QDataStream &operator<<(QDataStream &ds, const QWSKeyboard::Composing &c)
+{
+ return ds << c.first << c.second << c.result;
+}
+
+
+#endif // QWSKEYBOARD_H