QTapReading Class

The QTapReading class represents one reading from the tap sensor. More...

Header: #include <QTapReading>
qmake: QT += sensors
Since: Qt 5.1
Inherits: QSensorReading

Public Types

enum TapDirection { Undefined, X, Y, Z, ..., Z_Both }

Properties

Public Functions

QTapReading(QObject *parent = DECLARE_READING(QTapReading))
virtual ~QTapReading()
bool isDoubleTap() const
void setDoubleTap(bool doubleTap)
void setTapDirection(QTapReading::TapDirection tapDirection)
QTapReading::TapDirection tapDirection() const

Reimplemented Public Functions

virtual void copyValuesFrom(QSensorReading *other) override

Static Public Members

const QMetaObject staticMetaObject
  • 9 static public members inherited from QObject

Additional Inherited Members

  • 1 public slot inherited from QObject
  • 2 signals inherited from QObject
  • 9 protected functions inherited from QObject

Detailed Description

The QTapReading class represents one reading from the tap sensor.

QTapReading Units

The tap sensor registers tap events along the 3 axes that originate from the phone. The axes are arranged as follows.

By default it returns only double tap events. The QTapSensor::returnDoubleTapEvents property must be set to false to return individual tap events.

Member Type Documentation

enum QTapReading::TapDirection

The tap direction is indicated using flags. Applications should check for the presence of a particular flag as multiple flags may be set at once.

The X, Y and Z flags allow an app to check for taps along an axis without caring about the direction.


  if (reading->tapDirection()&QTapReading::X) {
      ...
  }

The *_Pos and *_Neg flags allow checking for taps in a specific direction. Note that some devices cannot determine the direction of a tap and will set both the _Pos and _Neg flag for the detected axis. Previous versions of the API did not allow this. Applications that check for the _Pos and _Neg flags as values should be updated so they can work with all devices.

For example, if you have code like


  if (reading->tapDirection() == QTapReading::X_Pos) {
      ...
  }

you can rewrite it as


  if (reading->tapDirection()&QTapReading::X_Pos) {
      ...
  }

Constant Value Description
QTapReading::Undefined 0 This value means that the direction is unknown.
QTapReading::X 0x0001 This flag is set if the tap was along the X axis.
QTapReading::Y 0x0002 This flag is set if the tap was along the Y axis.
QTapReading::Z 0x0004 This flag is set if the tap was along the Z axis.
QTapReading::X_Pos 0x0011 This flag is set if the tap was towards the positive X direction.
QTapReading::Y_Pos 0x0022 This flag is set if the tap was towards the positive Y direction.
QTapReading::Z_Pos 0x0044 This flag is set if the tap was towards the positive Z direction.
QTapReading::X_Neg 0x0101 This flag is set if the tap was towards the negative X direction.
QTapReading::Y_Neg 0x0202 This flag is set if the tap was towards the negative Y direction.
QTapReading::Z_Neg 0x0404 This flag is set if the tap was towards the negative Z direction.
QTapReading::X_Both 0x0111 Equivalent to X_Pos|X_Neg. Returned by devices that cannot detect the direction of a tap.
QTapReading::Y_Both 0x0222 Equivalent to Y_Pos|Y_Neg. Returned by devices that cannot detect the direction of a tap.
QTapReading::Z_Both 0x0444 Equivalent to Z_Pos|Z_Neg. Returned by devices that cannot detect the direction of a tap.

Property Documentation

doubleTap : const bool

This property holds a value indicating if there was a single or double tap.

  • true - double tap
  • false - single tap

Access functions:

bool isDoubleTap() const

See also QTapReading Units.

tapDirection : const TapDirection

This property holds the direction of the tap.

Access functions:

QTapReading::TapDirection tapDirection() const

See also QTapReading Units.

Member Function Documentation

QTapReading::QTapReading(QObject *parent = DECLARE_READING(QTapReading))

Default constructs an instance of QTapReading.

[virtual] QTapReading::~QTapReading()

Destroys the instance of QTapReading. The destructor is virtual.

[override virtual] void QTapReading::copyValuesFrom(QSensorReading *other)

void QTapReading::setDoubleTap(bool doubleTap)

Sets the double tap status of the reading to doubleTap.

See also isDoubleTap().

void QTapReading::setTapDirection(QTapReading::TapDirection tapDirection)

Sets the tap direction to tapDirection.

See also tapDirection().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qtapreading.html