Qt 5.11 | Qt Sensors | C++ Classes | QTapReading

Qt 5.11.3 Reference Documentation

# 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

- List of all members, including inherited members

## Public Types

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

## Properties

- doubleTap : const bool
- tapDirection : const TapDirection

- 1 property inherited from QSensorReading

## 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

- 4 public functions inherited from QSensorReading

## 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().