Qt 4.8
qt-4.8.6
src
gui
embedded
qkbd_qws_p.h
Go to the documentation of this file.
1
/****************************************************************************
2
**
3
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
4
** Contact: http://www.qt-project.org/legal
5
**
6
** This file is part of the QtGui module of the Qt Toolkit.
7
**
8
** $QT_BEGIN_LICENSE:LGPL$
9
** Commercial License Usage
10
** Licensees holding valid commercial Qt licenses may use this file in
11
** accordance with the commercial license agreement provided with the
12
** Software or, alternatively, in accordance with the terms contained in
13
** a written agreement between you and Digia. For licensing terms and
14
** conditions see http://qt.digia.com/licensing. For further information
15
** use the contact form at http://qt.digia.com/contact-us.
16
**
17
** GNU Lesser General Public License Usage
18
** Alternatively, this file may be used under the terms of the GNU Lesser
19
** General Public License version 2.1 as published by the Free Software
20
** Foundation and appearing in the file LICENSE.LGPL included in the
21
** packaging of this file. Please review the following information to
22
** ensure the GNU Lesser General Public License version 2.1 requirements
23
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24
**
25
** In addition, as a special exception, Digia gives you certain additional
26
** rights. These rights are described in the Digia Qt LGPL Exception
27
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28
**
29
** GNU General Public License Usage
30
** Alternatively, this file may be used under the terms of the GNU
31
** General Public License version 3.0 as published by the Free Software
32
** Foundation and appearing in the file LICENSE.GPL included in the
33
** packaging of this file. Please review the following information to
34
** ensure the GNU General Public License version 3.0 requirements will be
35
** met: http://www.gnu.org/copyleft/gpl.html.
36
**
37
**
38
** $QT_END_LICENSE$
39
**
40
****************************************************************************/
41
42
#ifndef QWSKEYBOARD_P_H
43
#define QWSKEYBOARD_P_H
44
45
//
46
// W A R N I N G
47
// -------------
48
//
49
// This file is not part of the Qt API. It exists purely as an
50
// implementation detail. This header file may change from version to
51
// version without notice, or even be removed.
52
//
53
// We mean it.
54
//
55
56
#include <QDataStream>
57
58
QT_BEGIN_NAMESPACE
59
60
namespace
QWSKeyboard
{
61
const
quint32
FileMagic
= 0x514d4150;
// 'QMAP'
62
63
struct
Mapping
{
64
quint16
keycode
;
65
quint16
unicode
;
66
quint32
qtcode
;
67
quint8
modifiers
;
68
quint8
flags
;
69
quint16
special
;
70
71
};
72
73
enum
Flags
{
74
IsDead
= 0x01,
75
IsLetter
= 0x02,
76
IsModifier
= 0x04,
77
IsSystem
= 0x08,
78
};
79
80
enum
System
{
81
SystemConsoleFirst
= 0x0100,
82
SystemConsoleMask
= 0x007f,
83
SystemConsoleLast
= 0x017f,
84
SystemConsolePrevious
= 0x0180,
85
SystemConsoleNext
= 0x0181,
86
SystemReboot
= 0x0200,
87
SystemZap
= 0x0300,
88
};
89
90
struct
Composing
{
91
quint16
first
;
92
quint16
second
;
93
quint16
result
;
94
};
95
96
enum
Modifiers
{
97
ModPlain
= 0x00,
98
ModShift
= 0x01,
99
ModAltGr
= 0x02,
100
ModControl
= 0x04,
101
ModAlt
= 0x08,
102
ModShiftL
= 0x10,
103
ModShiftR
= 0x20,
104
ModCtrlL
= 0x40,
105
ModCtrlR
= 0x80,
106
// ModCapsShift = 0x100, // not supported!
107
};
108
};
109
110
#ifndef QT_NO_DATASTREAM
111
inline
QDataStream
&
operator>>
(
QDataStream
&ds,
QWSKeyboard::Mapping
&m)
112
{
113
return
ds >> m.
keycode
>> m.
unicode
>> m.
qtcode
>> m.
modifiers
>> m.
flags
>> m.
special
;
114
}
115
116
inline
QDataStream
&
operator<<
(
QDataStream
&ds,
const
QWSKeyboard::Mapping
&m)
117
{
118
return
ds << m.
keycode
<< m.
unicode
<< m.
qtcode
<< m.
modifiers
<< m.
flags
<< m.
special
;
119
}
120
121
inline
QDataStream
&
operator>>
(
QDataStream
&ds,
QWSKeyboard::Composing
&
c
)
122
{
123
return
ds >> c.
first
>> c.
second
>> c.
result
;
124
}
125
126
inline
QDataStream
&
operator<<
(
QDataStream
&ds,
const
QWSKeyboard::Composing
&
c
)
127
{
128
return
ds << c.
first
<< c.
second
<< c.
result
;
129
}
130
#endif // QT_NO_DATASTREAM
131
132
QT_END_NAMESPACE
133
134
#endif // QWSKEYBOARD_H
QWSKeyboard::Composing::result
quint16 result
Definition:
qkbd_qws_p.h:93
QWSKeyboard::ModPlain
Definition:
qkbd_qws_p.h:97
QWSKeyboard::ModAltGr
Definition:
qkbd_qws_p.h:99
c
unsigned char c[8]
Definition:
qnumeric_p.h:62
QT_END_NAMESPACE
#define QT_END_NAMESPACE
This macro expands to.
Definition:
qglobal.h:90
QWSKeyboard::ModControl
Definition:
qkbd_qws_p.h:100
QWSKeyboard::IsLetter
Definition:
qkbd_qws_p.h:75
QWSKeyboard::IsModifier
Definition:
qkbd_qws_p.h:76
QWSKeyboard::Mapping::qtcode
quint32 qtcode
Definition:
qkbd_qws_p.h:66
QWSKeyboard
Definition:
qkbd_qws_p.h:60
quint8
unsigned char quint8
Definition:
qglobal.h:934
QWSKeyboard::ModCtrlL
Definition:
qkbd_qws_p.h:104
QWSKeyboard::ModShiftL
Definition:
qkbd_qws_p.h:102
QWSKeyboard::Mapping::keycode
quint16 keycode
Definition:
qkbd_qws_p.h:64
QWSKeyboard::SystemConsoleMask
Definition:
qkbd_qws_p.h:82
operator<<
QDataStream & operator<<(QDataStream &ds, const QWSKeyboard::Mapping &m)
Definition:
qkbd_qws_p.h:116
QT_BEGIN_NAMESPACE
#define QT_BEGIN_NAMESPACE
This macro expands to.
Definition:
qglobal.h:89
QWSKeyboard::SystemConsolePrevious
Definition:
qkbd_qws_p.h:84
QWSKeyboard::Composing::second
quint16 second
Definition:
qkbd_qws_p.h:92
operator>>
QDataStream & operator>>(QDataStream &ds, QWSKeyboard::Mapping &m)
Definition:
qkbd_qws_p.h:111
QWSKeyboard::IsDead
Definition:
qkbd_qws_p.h:74
quint16
unsigned short quint16
Definition:
qglobal.h:936
QWSKeyboard::SystemReboot
Definition:
qkbd_qws_p.h:86
QWSKeyboard::SystemConsoleLast
Definition:
qkbd_qws_p.h:83
QWSKeyboard::ModCtrlR
Definition:
qkbd_qws_p.h:105
QWSKeyboard::Composing
Definition:
qkbd_qws_p.h:90
QWSKeyboard::IsSystem
Definition:
qkbd_qws_p.h:77
QWSKeyboard::Mapping::unicode
quint16 unicode
Definition:
qkbd_qws_p.h:65
QWSKeyboard::ModShiftR
Definition:
qkbd_qws_p.h:103
QWSKeyboard::SystemConsoleFirst
Definition:
qkbd_qws_p.h:81
QWSKeyboard::Mapping::flags
quint8 flags
Definition:
qkbd_qws_p.h:68
QWSKeyboard::Mapping::special
quint16 special
Definition:
qkbd_qws_p.h:69
QWSKeyboard::SystemConsoleNext
Definition:
qkbd_qws_p.h:85
QWSKeyboard::SystemZap
Definition:
qkbd_qws_p.h:87
quint32
unsigned int quint32
Definition:
qglobal.h:938
QWSKeyboard::Composing::first
quint16 first
Definition:
qkbd_qws_p.h:91
QWSKeyboard::Flags
Flags
Definition:
qkbd_qws_p.h:73
QDataStream
The QDataStream class provides serialization of binary data to a QIODevice.
Definition:
qdatastream.h:71
QWSKeyboard::Mapping::modifiers
quint8 modifiers
Definition:
qkbd_qws_p.h:67
QWSKeyboard::System
System
Definition:
qkbd_qws_p.h:80
QWSKeyboard::Modifiers
Modifiers
Definition:
qkbd_qws_p.h:96
QWSKeyboard::FileMagic
const quint32 FileMagic
Definition:
qkbd_qws_p.h:61
QWSKeyboard::Mapping
Definition:
qkbd_qws_p.h:63
QWSKeyboard::ModAlt
Definition:
qkbd_qws_p.h:101
QWSKeyboard::ModShift
Definition:
qkbd_qws_p.h:98
Qt 4.8 Source Code Browser