Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qevdevkeyboardhandler_p.h
Go to the documentation of this file.
1
// Copyright (C) 2021 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4
#
ifndef
QEVDEVKEYBOARDHANDLER_P_H
5
#
define
QEVDEVKEYBOARDHANDLER_P_H
6
7
//
8
// W A R N I N G
9
// -------------
10
//
11
// This file is not part of the Qt API. It exists purely as an
12
// implementation detail. This header file may change from version to
13
// version without notice, or even be removed.
14
//
15
// We mean it.
16
//
17
18
#
include
<
qobject
.
h
>
19
#
include
<
qloggingcategory
.
h
>
20
#
include
<
QtInputSupport
/
private
/
qfdcontainer_p
.
h
>
21
#
include
<
QtInputSupport
/
private
/
qkeyboardmap_p
.
h
>
22
#
include
<
QtInputSupport
/
private
/
qkeycodeaction_p
.
h
>
23
24
#
include
<
private
/
qglobal_p
.
h
>
25
26
#
include
<
memory
>
27
28
QT_BEGIN_NAMESPACE
29
30
Q_DECLARE_LOGGING_CATEGORY
(qLcEvdevKey)
31
32
class
QSocketNotifier;
33
34
class
QEvdevKeyboardHandler
:
public
QObject
35
{
36
public
:
37
QEvdevKeyboardHandler
(
const
QString &device, QFdContainer &fd,
bool
disableZap,
bool
enableCompose,
const
QString &keymapFile);
38
~
QEvdevKeyboardHandler
();
39
40
static
std
::
unique_ptr
<
QEvdevKeyboardHandler
>
create
(
const
QString &device,
41
const
QString &specification,
42
const
QString &defaultKeymapFile = QString());
43
44
bool
loadKeymap
(
const
QString &file);
45
void
unloadKeymap
();
46
47
void
readKeycode
();
48
QKeycodeAction
processKeycode
(quint16 keycode,
bool
pressed,
bool
autorepeat);
49
50
void
switchLang
();
51
52
private
:
53
void
processKeyEvent(
int
nativecode,
int
unicode,
int
qtcode,
54
Qt::KeyboardModifiers modifiers,
bool
isPress,
bool
autoRepeat);
55
void
switchLed(
int
,
bool
);
56
57
QString m_device;
58
QFdContainer m_fd;
59
QSocketNotifier *m_notify;
60
61
// keymap handling
62
quint8 m_modifiers;
63
quint8 m_locks[3];
64
int
m_composing;
65
quint16 m_dead_unicode;
66
quint8 m_langLock;
67
68
bool
m_no_zap;
69
bool
m_do_compose;
70
71
const
QKeyboardMap::Mapping *m_keymap;
72
int
m_keymap_size;
73
const
QKeyboardMap::Composing *m_keycompose;
74
int
m_keycompose_size;
75
76
static
const
QKeyboardMap::Mapping s_keymap_default[];
77
static
const
QKeyboardMap::Composing s_keycompose_default[];
78
};
79
80
81
QT_END_NAMESPACE
82
83
#
endif
// QEVDEVKEYBOARDHANDLER_P_H
QEvdevKeyboardHandler
Definition
qevdevkeyboardhandler_p.h:35
QEvdevKeyboardHandler::QEvdevKeyboardHandler
QEvdevKeyboardHandler(const QString &device, QFdContainer &fd, bool disableZap, bool enableCompose, const QString &keymapFile)
Definition
qevdevkeyboardhandler.cpp:44
QEvdevKeyboardHandler::processKeycode
QKeycodeAction processKeycode(quint16 keycode, bool pressed, bool autorepeat)
Definition
qevdevkeyboardhandler.cpp:216
QEvdevKeyboardHandler::switchLang
void switchLang()
Definition
qevdevkeyboardhandler.cpp:560
QEvdevKeyboardHandler::~QEvdevKeyboardHandler
~QEvdevKeyboardHandler()
Definition
qevdevkeyboardhandler.cpp:64
QEvdevKeyboardHandler::create
static std::unique_ptr< QEvdevKeyboardHandler > create(const QString &device, const QString &specification, const QString &defaultKeymapFile=QString())
Definition
qevdevkeyboardhandler.cpp:69
QEvdevKeyboardHandler::loadKeymap
bool loadKeymap(const QString &file)
Definition
qevdevkeyboardhandler.cpp:501
QEvdevKeyboardHandler::unloadKeymap
void unloadKeymap()
Definition
qevdevkeyboardhandler.cpp:457
QEvdevKeyboardHandler::readKeycode
void readKeycode()
Definition
qevdevkeyboardhandler.cpp:136
Qt
Definition
qcompare.h:111
Qt::Key_Tab
@ Key_Tab
Definition
qnamespace.h:687
Qt::Key_Right
@ Key_Right
Definition
qnamespace.h:702
Qt::Key_PageUp
@ Key_PageUp
Definition
qnamespace.h:704
Qt::Key_Backtab
@ Key_Backtab
Definition
qnamespace.h:688
Qt::Key_Insert
@ Key_Insert
Definition
qnamespace.h:692
Qt::Key_Left
@ Key_Left
Definition
qnamespace.h:700
Qt::Key_Up
@ Key_Up
Definition
qnamespace.h:701
Qt::Key_Down
@ Key_Down
Definition
qnamespace.h:703
Qt::Key_Delete
@ Key_Delete
Definition
qnamespace.h:693
Qt::Key_NumLock
@ Key_NumLock
Definition
qnamespace.h:711
Qt::Key_Multi_key
@ Key_Multi_key
Definition
qnamespace.h:763
Qt::Key_ScrollLock
@ Key_ScrollLock
Definition
qnamespace.h:712
Qt::Key_PageDown
@ Key_PageDown
Definition
qnamespace.h:705
Qt::Key_Home
@ Key_Home
Definition
qnamespace.h:698
Qt::Key_Clear
@ Key_Clear
Definition
qnamespace.h:697
Qt::Key_CapsLock
@ Key_CapsLock
Definition
qnamespace.h:710
Qt::Key_unknown
@ Key_unknown
Definition
qnamespace.h:1078
Qt::Key_End
@ Key_End
Definition
qnamespace.h:699
Qt::ShiftModifier
@ ShiftModifier
Definition
qnamespace.h:1083
Qt::ControlModifier
@ ControlModifier
Definition
qnamespace.h:1084
Qt::MetaModifier
@ MetaModifier
Definition
qnamespace.h:1086
Qt::KeypadModifier
@ KeypadModifier
Definition
qnamespace.h:1087
Qt::AltModifier
@ AltModifier
Definition
qnamespace.h:1085
input_event_usec
#define input_event_usec
Definition
qevdevkeyboardhandler.cpp:31
input_event_sec
#define input_event_sec
Definition
qevdevkeyboardhandler.cpp:27
Q_LOGGING_CATEGORY
#define Q_LOGGING_CATEGORY(name,...)
Definition
qloggingcategory.h:147
qCDebug
#define qCDebug(category,...)
Definition
qloggingcategory.h:162
Q_STATIC_LOGGING_CATEGORY
#define Q_STATIC_LOGGING_CATEGORY(name,...)
Definition
qloggingcategory.h:154
Q_DECLARE_LOGGING_CATEGORY
#define Q_DECLARE_LOGGING_CATEGORY(name)
Definition
qloggingcategory.h:141
EV_KEY
#define EV_KEY
Definition
qvxtouchhandler.cpp:25
qtbase
src
platformsupport
input
evdevkeyboard
qevdevkeyboardhandler_p.h
Generated on
for Qt by
1.18.0