![]() |
Qt 6.x
The Qt SDK
|
The QPointingDevice class describes a device from which mouse, touch or tablet events originate. More...
#include <qpointingdevice.h>
Public Types | |
enum class | PointerType { Unknown = 0 , Generic = 0x0001 , Finger = 0x0002 , Pen = 0x0004 , Eraser = 0x0008 , Cursor = 0x0010 , AllPointerTypes = 0x7FFF } |
This enum represents what is interacting with the pointing device. More... | |
enum | GrabTransition { GrabPassive = 0x01 , UngrabPassive = 0x02 , CancelGrabPassive = 0x03 , OverrideGrabPassive = 0x04 , GrabExclusive = 0x10 , UngrabExclusive = 0x20 , CancelGrabExclusive = 0x30 } |
This enum represents a transition of exclusive or passive grab from one object (possibly nullptr ) to another (possibly nullptr ). More... | |
![]() | |
enum class | DeviceType { Unknown = 0x0000 , Mouse = 0x0001 , TouchScreen = 0x0002 , TouchPad = 0x0004 , Puck = 0x0008 , Stylus = 0x0010 , Airbrush = 0x0020 , Keyboard = 0x1000 , AllDevices = 0x7FFFFFFF } |
This enum represents the type of device that generated a QPointerEvent. More... | |
enum class | Capability { None = 0 , Position = 0x0001 , Area = 0x0002 , Pressure = 0x0004 , Velocity = 0x0008 , NormalizedPosition = 0x0020 , MouseEmulation = 0x0040 , PixelScroll = 0x0080 , Scroll = 0x0100 , Hover = 0x0200 , Rotation = 0x0400 , XTilt = 0x0800 , YTilt = 0x1000 , TangentialPressure = 0x2000 , ZPosition = 0x4000 , All = 0x7FFFFFFF } |
Indicates what kind of information the input device or its driver can provide. More... | |
Signals | |
void | grabChanged (QObject *grabber, QPointingDevice::GrabTransition transition, const QPointerEvent *event, const QEventPoint &point) |
This signal is emitted when the grabber object gains or loses an exclusive or passive grab of point during delivery of event. | |
![]() | |
void | availableVirtualGeometryChanged (QRect area) |
![]() | |
void | destroyed (QObject *=nullptr) |
This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked. | |
void | objectNameChanged (const QString &objectName, QPrivateSignal) |
This signal is emitted after the object's name has been changed. | |
Public Member Functions | |
QPointingDevice (QObject *parent=nullptr) | |
Creates a new invalid pointing device instance as a child of parent. | |
~QPointingDevice () | |
QPointingDevice (const QString &name, qint64 systemId, QInputDevice::DeviceType devType, PointerType pType, Capabilities caps, int maxPoints, int buttonCount, const QString &seatName=QString(), QPointingDeviceUniqueId uniqueId=QPointingDeviceUniqueId(), QObject *parent=nullptr) | |
Creates a new pointing device instance with the given name, deviceType, pointerType, capabilities, maxPoints, buttonCount, seatName, uniqueId and parent. | |
PointerType | pointerType () const |
Returns the pointer type. | |
int | maximumPoints () const |
Returns the maximum number of simultaneous touch points (fingers) that can be detected. | |
int | buttonCount () const |
Returns the maximum number of on-device buttons that can be detected. | |
QPointingDeviceUniqueId | uniqueId () const |
Returns a unique ID (of dubious utility) for the device. | |
bool | operator== (const QPointingDevice &other) const |
![]() | |
QInputDevice (QObject *parent=nullptr) | |
Creates a new invalid input device instance as a child of parent. | |
~QInputDevice () | |
QInputDevice (const QString &name, qint64 systemId, DeviceType type, const QString &seatName=QString(), QObject *parent=nullptr) | |
Creates a new input device instance. | |
QString | name () const |
Returns the device name. | |
DeviceType | type () const |
Returns the device type. | |
Capabilities | capabilities () const |
Returns the device capabilities. | |
bool | hasCapability (Capability cap) const |
Returns whether the device capabilities include the given capability. | |
qint64 | systemId () const |
Returns the platform specific system ID (for example xinput ID on the X11 platform). | |
QString | seatName () const |
Returns the seat with which the device is associated, if known; otherwise empty. | |
QRect | availableVirtualGeometry () const |
Returns the region within the \l{QScreen::availableVirtualGeometry}{virtual desktop} that this device can access. | |
bool | operator== (const QInputDevice &other) const |
![]() | |
Q_INVOKABLE | QObject (QObject *parent=nullptr) |
Constructs an object with parent object parent. | |
virtual | ~QObject () |
Destroys the object, deleting all its child objects. | |
virtual bool | event (QEvent *event) |
This virtual function receives events to an object and should return true if the event e was recognized and processed. | |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
Filters events if this object has been installed as an event filter for the watched object. | |
QString | objectName () const |
Q_WEAK_OVERLOAD void | setObjectName (const QString &name) |
Sets the object's name to name. | |
void | setObjectName (QAnyStringView name) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
QBindable< QString > | bindableObjectName () |
bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false . | |
bool | isWindowType () const |
Returns true if the object is a window; otherwise returns false . | |
bool | isQuickItemType () const |
Returns true if the object is a QQuickItem; otherwise returns false . | |
bool | signalsBlocked () const noexcept |
Returns true if signals are blocked; otherwise returns false . | |
bool | blockSignals (bool b) noexcept |
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). | |
QThread * | thread () const |
Returns the thread in which the object lives. | |
void | moveToThread (QThread *thread) |
Changes the thread affinity for this object and its children. | |
int | startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer) |
This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds. | |
int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType=Qt::CoarseTimer) |
void | killTimer (int id) |
Kills the timer with timer identifier, id. | |
template<typename T > | |
T | findChild (const QString &aName=QString(), Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object. | |
template<typename T > | |
QList< T > | findChildren (const QString &aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. | |
template<typename T > | |
QList< T > | findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
const QObjectList & | children () const |
Returns a list of child objects. | |
void | setParent (QObject *parent) |
Makes the object a child of parent. | |
void | installEventFilter (QObject *filterObj) |
Installs an event filter filterObj on this object. | |
void | removeEventFilter (QObject *obj) |
Removes an event filter object obj from this object. | |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
bool | disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const |
bool | disconnect (const QObject *receiver, const char *member=nullptr) const |
void | dumpObjectTree () const |
Dumps a tree of children to the debug output. | |
void | dumpObjectInfo () const |
Dumps information about signal connections, etc. | |
bool | setProperty (const char *name, const QVariant &value) |
Sets the value of the object's name property to value. | |
bool | setProperty (const char *name, QVariant &&value) |
QVariant | property (const char *name) const |
Returns the value of the object's name property. | |
QList< QByteArray > | dynamicPropertyNames () const |
QBindingStorage * | bindingStorage () |
const QBindingStorage * | bindingStorage () const |
QObject * | parent () const |
Returns a pointer to the parent object. | |
bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false . | |
Static Public Member Functions | |
static const QPointingDevice * | primaryPointingDevice (const QString &seatName=QString()) |
Returns the primary pointing device (the core pointer, traditionally assumed to be a mouse) on the given seat seatName. | |
![]() | |
static QStringList | seatNames () |
static QList< const QInputDevice * > | devices () |
Returns a list of all registered input devices (keyboards and pointing devices). | |
static const QInputDevice * | primaryKeyboard (const QString &seatName=QString()) |
Returns the core or master keyboard on the given seat seatName. | |
![]() | |
static QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
\threadsafe | |
static QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot) |
static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
\threadsafe | |
static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
static bool | disconnect (const QMetaObject::Connection &) |
Disconnect a connection. | |
template<typename Func1 , typename Func2 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot) |
template<typename Func1 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero) |
Protected Member Functions | |
QPointingDevice (QPointingDevicePrivate &d, QObject *parent) | |
![]() | |
QInputDevice (QInputDevicePrivate &d, QObject *parent) | |
![]() | |
QObject * | sender () const |
Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr. | |
int | senderSignalIndex () const |
int | receivers (const char *signal) const |
Returns the number of receivers connected to the signal. | |
bool | isSignalConnected (const QMetaMethod &signal) const |
virtual void | timerEvent (QTimerEvent *event) |
This event handler can be reimplemented in a subclass to receive timer events for the object. | |
virtual void | childEvent (QChildEvent *event) |
This event handler can be reimplemented in a subclass to receive child events. | |
virtual void | customEvent (QEvent *event) |
This event handler can be reimplemented in a subclass to receive custom events. | |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
QObject (QObjectPrivate &dd, QObject *parent=nullptr) | |
Properties | |
PointerType | pointerType |
int | maximumPoints |
int | buttonCount |
QPointingDeviceUniqueId | uniqueId |
![]() | |
QString | name |
DeviceType | type |
Capabilities | capabilities |
qint64 | systemId |
QString | seatName |
QRect | availableVirtualGeometry |
![]() | |
QString | objectName |
the name of this object | |
Additional Inherited Members | |
![]() | |
void | deleteLater () |
\threadsafe | |
![]() | |
QScopedPointer< QObjectData > | d_ptr |
![]() | |
template< class T > T | qobject_cast (const QObject *object) |
Returns the given object cast to type T if the object is of type T (or of a subclass); otherwise returns \nullptr. | |
template< typename T > T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
template< typename T > QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QObjectList | |
\macro Q_CLASSINFO(Name, Value) | |
The QPointingDevice class describes a device from which mouse, touch or tablet events originate.
\inmodule QtGui
Each QPointerEvent contains a QPointingDevice pointer to allow accessing device-specific properties like type and capabilities. It is the responsibility of the platform or generic plug-ins to register the available pointing devices via QWindowSystemInterface before generating any pointer events. Applications do not need to instantiate this class, they should just access the global instances pointed to by QPointerEvent::device().
Definition at line 50 of file qpointingdevice.h.
This enum represents a transition of exclusive or passive grab from one object (possibly nullptr
) to another (possibly nullptr
).
It is emitted as an argument of the QPointingDevice::grabChanged() signal.
Valid values are:
\value GrabExclusive Emitted after QPointerEvent::setExclusiveGrabber(). \value UngrabExclusive Emitted after QPointerEvent::setExclusiveGrabber() when the grabber is set to nullptr
, to notify that the grab has terminated normally. \value CancelGrabExclusive Emitted after QPointerEvent::setExclusiveGrabber() when the grabber is set to a different object, to notify that the old grabber's grab is "stolen". \value GrabPassive Emitted after QPointerEvent::addPassiveGrabber(). \value UngrabPassive Emitted when a passive grab is terminated normally, for example after QPointerEvent::removePassiveGrabber(). \value CancelGrabPassive Emitted when a passive grab is terminated abnormally (a gesture is canceled). \value OverrideGrabPassive This value is not currently used.
Enumerator | |
---|---|
GrabPassive | |
UngrabPassive | |
CancelGrabPassive | |
OverrideGrabPassive | |
GrabExclusive | |
UngrabExclusive | |
CancelGrabExclusive |
Definition at line 72 of file qpointingdevice.h.
|
strong |
This enum represents what is interacting with the pointing device.
There is some redundancy between this property and \l {QInputDevice::DeviceType}. For example, if a touchscreen is used, then the DeviceType
is TouchScreen
and PointerType
is Finger
(always). But on a graphics tablet, it's often possible for both ends of the stylus to be used, and programs need to distinguish them. Therefore the concept is extended so that every QPointerEvent has a PointerType, and it can simplify some event handling code to ignore the DeviceType and react differently depending on the PointerType alone.
Valid values are:
\value Unknown The pointer type is unknown. \value Generic A mouse or something acting like a mouse (the core pointer on X11). \value Finger The user's finger. \value Pen The drawing end of a stylus. \value Eraser The other end of the stylus (if it has a virtual eraser on the other end). \value Cursor A transparent circle with cross-hairs as found on a \l {QInputDevice::DeviceType}{Puck} device. \value AllPointerTypes Any of the above (used as a default filter value).
Enumerator | |
---|---|
Unknown | |
Generic | |
Finger | |
Pen | |
Eraser | |
Cursor | |
AllPointerTypes |
Definition at line 60 of file qpointingdevice.h.
Creates a new invalid pointing device instance as a child of parent.
Definition at line 159 of file qpointingdevice.cpp.
QPointingDevice::~QPointingDevice | ( | ) |
Definition at line 166 of file qpointingdevice.cpp.
QPointingDevice::QPointingDevice | ( | const QString & | name, |
qint64 | systemId, | ||
QInputDevice::DeviceType | devType, | ||
QPointingDevice::PointerType | pointerType, | ||
Capabilities | caps, | ||
int | maxPoints, | ||
int | buttonCount, | ||
const QString & | seatName = QString() , |
||
QPointingDeviceUniqueId | uniqueId = QPointingDeviceUniqueId() , |
||
QObject * | parent = nullptr |
||
) |
Creates a new pointing device instance with the given name, deviceType, pointerType, capabilities, maxPoints, buttonCount, seatName, uniqueId and parent.
Definition at line 175 of file qpointingdevice.cpp.
|
protected |
Definition at line 185 of file qpointingdevice.cpp.
int QPointingDevice::buttonCount | ( | ) | const |
Returns the maximum number of on-device buttons that can be detected.
Definition at line 265 of file qpointingdevice.cpp.
References d.
|
signal |
This signal is emitted when the grabber object gains or loses an exclusive or passive grab of point during delivery of event.
The transition tells what happened, from the perspective of the grabber
object.
nullptr
.Referenced by QQuickDeliveryAgentPrivate::ensureDeviceConnected().
int QPointingDevice::maximumPoints | ( | ) | const |
Returns the maximum number of simultaneous touch points (fingers) that can be detected.
Definition at line 256 of file qpointingdevice.cpp.
References d.
bool QPointingDevice::operator== | ( | const QPointingDevice & | other | ) | const |
Definition at line 691 of file qpointingdevice.cpp.
References QInputDevice::operator==(), other(), pointerType, and uniqueId.
QPointingDevice::PointerType QPointingDevice::pointerType | ( | ) | const |
|
static |
Returns the primary pointing device (the core pointer, traditionally assumed to be a mouse) on the given seat seatName.
If multiple pointing devices are registered, this function prefers a mouse or touchpad that matches the given seatName and that does not have another device as its parent. Usually only one master or core device does not have a parent device. But if such a device is not found, this function creates a new virtual "core pointer" mouse. Thus Qt continues to work on platforms that are not yet doing input device discovery and registration.
Definition at line 293 of file qpointingdevice.cpp.
References QInputDevice::devices(), Generic, QCoreApplication::instance(), QString::isNull(), QInputDevice::Mouse, QObject::parent(), QInputDevice::Position, qCDebug, QInputDevicePrivate::registerDevice(), QInputDevice::seatName, and QInputDevice::TouchPad.
Referenced by QApplicationPrivate::closePopup(), QWindowSystemInterface::handleWheelEvent(), QNSView(Mouse)::initMouse, QWindowsMouseHandler::primaryMouse(), QT_DEFINE_QPA_EVENT_HANDLER(), and QQuickHandlerPoint::reset().
QPointingDeviceUniqueId QPointingDevice::uniqueId | ( | ) | const |
Returns a unique ID (of dubious utility) for the device.
You probably should rather be concerned with QPointerEventPoint::uniqueId().
Definition at line 276 of file qpointingdevice.cpp.
References d.
|
read |
Definition at line 44 of file qpointingdevice.h.
|
read |
Definition at line 44 of file qpointingdevice.h.
|
read |
Definition at line 44 of file qpointingdevice.h.
Referenced by QQuickHoverHandler::handleEventPoint(), operator==(), and QWindowsTabletSupport::translateTabletPacketEvent().
|
read |
Definition at line 44 of file qpointingdevice.h.
Referenced by operator==(), QGuiApplicationPrivate::processTabletEnterProximityEvent(), QGuiApplicationPrivate::processTabletLeaveProximityEvent(), and QWindowsTabletSupport::translateTabletPacketEvent().