Warning: That file was not part of the compilation database. It may have many parsing errors.

1/****************************************************************************
2**
3** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
4** Contact: https://www.qt.io/licensing/
5**
6** This file is part of the Qt3D 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 The Qt Company. For licensing terms
14** and conditions see https://www.qt.io/terms-conditions. For further
15** information use the contact form at https://www.qt.io/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 3 as published by the Free Software
20** Foundation and appearing in the file LICENSE.LGPL3 included in the
21** packaging of this file. Please review the following information to
22** ensure the GNU Lesser General Public License version 3 requirements
23** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
24**
25** GNU General Public License Usage
26** Alternatively, this file may be used under the terms of the GNU
27** General Public License version 2.0 or (at your option) the GNU General
28** Public license version 3 or any later version approved by the KDE Free
29** Qt Foundation. The licenses are as published by the Free Software
30** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
31** included in the packaging of this file. Please review the following
32** information to ensure the GNU General Public License requirements will
33** be met: https://www.gnu.org/licenses/gpl-2.0.html and
34** https://www.gnu.org/licenses/gpl-3.0.html.
35**
36** $QT_END_LICENSE$
37**
38****************************************************************************/
39
40#ifndef QT3DINPUT_INPUT_QKEYBOARDHANDLER_H
41#define QT3DINPUT_INPUT_QKEYBOARDHANDLER_H
42
43#include <Qt3DInput/qt3dinput_global.h>
44#include <Qt3DInput/qkeyevent.h>
45#include <Qt3DCore/qcomponent.h>
46
47QT_BEGIN_NAMESPACE
48
49namespace Qt3DInput {
50
51class QKeyboardDevice;
52class QKeyboardHandlerPrivate;
53
54class Q_3DINPUTSHARED_EXPORT QKeyboardHandler : public Qt3DCore::QComponent
55{
56 Q_OBJECT
57 Q_PROPERTY(Qt3DInput::QKeyboardDevice *sourceDevice READ sourceDevice WRITE setSourceDevice NOTIFY sourceDeviceChanged)
58 Q_PROPERTY(bool focus READ focus WRITE setFocus NOTIFY focusChanged)
59public:
60 explicit QKeyboardHandler(QNode *parent = nullptr);
61 ~QKeyboardHandler();
62
63 Qt3DInput::QKeyboardDevice *sourceDevice() const;
64 bool focus() const;
65
66public Q_SLOTS:
67 void setSourceDevice(Qt3DInput::QKeyboardDevice *keyboardDevice);
68 void setFocus(bool focus);
69
70Q_SIGNALS:
71 void sourceDeviceChanged(QKeyboardDevice *keyboardDevice);
72 void focusChanged(bool focus);
73
74 void digit0Pressed(Qt3DInput::QKeyEvent *event);
75 void digit1Pressed(Qt3DInput::QKeyEvent *event);
76 void digit2Pressed(Qt3DInput::QKeyEvent *event);
77 void digit3Pressed(Qt3DInput::QKeyEvent *event);
78 void digit4Pressed(Qt3DInput::QKeyEvent *event);
79 void digit5Pressed(Qt3DInput::QKeyEvent *event);
80 void digit6Pressed(Qt3DInput::QKeyEvent *event);
81 void digit7Pressed(Qt3DInput::QKeyEvent *event);
82 void digit8Pressed(Qt3DInput::QKeyEvent *event);
83 void digit9Pressed(Qt3DInput::QKeyEvent *event);
84
85 void leftPressed(Qt3DInput::QKeyEvent *event);
86 void rightPressed(Qt3DInput::QKeyEvent *event);
87 void upPressed(Qt3DInput::QKeyEvent *event);
88 void downPressed(Qt3DInput::QKeyEvent *event);
89 void tabPressed(Qt3DInput::QKeyEvent *event);
90 void backtabPressed(Qt3DInput::QKeyEvent *event);
91
92 void asteriskPressed(Qt3DInput::QKeyEvent *event);
93 void numberSignPressed(Qt3DInput::QKeyEvent *event);
94 void escapePressed(Qt3DInput::QKeyEvent *event);
95 void returnPressed(Qt3DInput::QKeyEvent *event);
96 void enterPressed(Qt3DInput::QKeyEvent *event);
97 void deletePressed(Qt3DInput::QKeyEvent *event);
98 void spacePressed(Qt3DInput::QKeyEvent *event);
99 void backPressed(Qt3DInput::QKeyEvent *event);
100 void cancelPressed(Qt3DInput::QKeyEvent *event);
101 void selectPressed(Qt3DInput::QKeyEvent *event);
102 void yesPressed(Qt3DInput::QKeyEvent *event);
103 void noPressed(Qt3DInput::QKeyEvent *event);
104 void context1Pressed(Qt3DInput::QKeyEvent *event);
105 void context2Pressed(Qt3DInput::QKeyEvent *event);
106 void context3Pressed(Qt3DInput::QKeyEvent *event);
107 void context4Pressed(Qt3DInput::QKeyEvent *event);
108 void callPressed(Qt3DInput::QKeyEvent *event);
109 void hangupPressed(Qt3DInput::QKeyEvent *event);
110 void flipPressed(Qt3DInput::QKeyEvent *event);
111 void menuPressed(Qt3DInput::QKeyEvent *event);
112 void volumeUpPressed(Qt3DInput::QKeyEvent *event);
113 void volumeDownPressed(Qt3DInput::QKeyEvent *event);
114
115 void pressed(Qt3DInput::QKeyEvent *event);
116 void released(Qt3DInput::QKeyEvent *event);
117
118protected:
119 // TODO Unused remove in Qt6
120 void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &change) override;
121
122private:
123 Q_DECLARE_PRIVATE(QKeyboardHandler)
124 Qt3DCore::QNodeCreatedChangeBasePtr createNodeCreationChange() const override;
125};
126
127} // namespace Qt3DInput
128
129QT_END_NAMESPACE
130
131#endif // QT3DINPUT_INPUT_QKEYBOARDHANDLER_H
132

Warning: That file was not part of the compilation database. It may have many parsing errors.

Provided by KDAB

Privacy Policy
Learn Advanced QML with KDAB
Find out more

source code of qt3d/src/input/frontend/qkeyboardhandler.h