KWin
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
input_event.cpp
Go to the documentation of this file.
1/*
2 KWin - the KDE window manager
3 This file is part of the KDE project.
4
5 SPDX-FileCopyrightText: 2016 Martin Gräßlin <mgraesslin@kde.org>
6
7 SPDX-License-Identifier: GPL-2.0-or-later
8*/
9#include "input_event.h"
10#include "core/inputdevice.h"
11
12namespace KWin
13{
14
15MouseEvent::MouseEvent(QEvent::Type type, const QPointF &pos, Qt::MouseButton button,
16 Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, std::chrono::microseconds timestamp,
17 const QPointF &delta, const QPointF &deltaNonAccelerated, InputDevice *device)
18 : QMouseEvent(type, pos, pos, button, buttons, modifiers)
19 , m_delta(delta)
20 , m_deltaUnccelerated(deltaNonAccelerated)
21 , m_timestamp(timestamp)
22 , m_device(device)
23{
24 setTimestamp(std::chrono::duration_cast<std::chrono::milliseconds>(timestamp).count());
25}
26
27WheelEvent::WheelEvent(const QPointF &pos, qreal delta, qint32 deltaV120, Qt::Orientation orientation,
28 Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, InputRedirection::PointerAxisSource source,
29 std::chrono::microseconds timestamp, InputDevice *device)
30 : QWheelEvent(pos, pos, QPoint(), (orientation == Qt::Horizontal) ? QPoint(delta, 0) : QPoint(0, delta), buttons, modifiers, Qt::NoScrollPhase, device ? device->isNaturalScroll() : false)
31 , m_device(device)
32 , m_orientation(orientation)
33 , m_delta(delta)
34 , m_deltaV120(deltaV120)
35 , m_source(source)
36 , m_timestamp(timestamp)
37{
38 setTimestamp(std::chrono::duration_cast<std::chrono::milliseconds>(timestamp).count());
39}
40
41std::chrono::microseconds WheelEvent::timestamp() const
42{
43 return m_timestamp;
44}
45
46KeyEvent::KeyEvent(QEvent::Type type, Qt::Key key, Qt::KeyboardModifiers modifiers, quint32 code, quint32 keysym,
47 const QString &text, bool autorepeat, std::chrono::microseconds timestamp, InputDevice *device)
48 : QKeyEvent(type, key, modifiers, code, keysym, 0, text, autorepeat)
49 , m_device(device)
50 , m_timestamp(timestamp)
51{
52 setTimestamp(std::chrono::duration_cast<std::chrono::milliseconds>(timestamp).count());
53}
54
55std::chrono::microseconds KeyEvent::timestamp() const
56{
57 return m_timestamp;
58}
59
60SwitchEvent::SwitchEvent(State state, std::chrono::microseconds timestamp, InputDevice *device)
61 : QEvent(QEvent::User)
62 , m_state(state)
63 , m_timestamp(timestamp)
64 , m_device(device)
65{
66}
67
68TabletEvent::TabletEvent(Type t, const QPointingDevice *dev, const QPointF &pos, const QPointF &globalPos,
69 qreal pressure, float xTilt, float yTilt,
70 float tangentialPressure, qreal rotation, float z,
71 Qt::KeyboardModifiers keyState, Qt::MouseButton button, Qt::MouseButtons buttons, const TabletToolId &tabletId)
72 : QTabletEvent(t, dev, pos, globalPos, pressure, xTilt, yTilt, tangentialPressure, rotation, z, keyState, button, buttons)
73 , m_id(tabletId)
74{
75}
76
77}
KeyEvent(QEvent::Type type, Qt::Key key, Qt::KeyboardModifiers modifiers, quint32 code, quint32 keysym, const QString &text, bool autorepeat, std::chrono::microseconds timestamp, InputDevice *device)
std::chrono::microseconds timestamp() const
std::chrono::microseconds timestamp() const
Definition input_event.h:38
MouseEvent(QEvent::Type type, const QPointF &pos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, std::chrono::microseconds timestamp, const QPointF &delta, const QPointF &deltaNonAccelerated, InputDevice *device)
SwitchEvent(State state, std::chrono::microseconds timestamp, InputDevice *device)
TabletEvent(Type t, const QPointingDevice *dev, const QPointF &pos, const QPointF &globalPos, qreal pressure, float xTilt, float yTilt, float tangentialPressure, qreal rotation, float z, Qt::KeyboardModifiers keyState, Qt::MouseButton button, Qt::MouseButtons buttons, const TabletToolId &tabletId)
WheelEvent(const QPointF &pos, qreal delta, qint32 deltaV120, Qt::Orientation orientation, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, InputRedirection::PointerAxisSource source, std::chrono::microseconds timestamp, InputDevice *device)
std::chrono::microseconds timestamp() const
Session::Type type
Definition session.cpp:17