- Qt 5.15
- Qt Sensors
- C++ Classes
- QTapReading
- Qt 5.15.11 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

This class was introduced in Qt 5.1.

- List of all members, including inherited members

## Public Types

enum | TapDirection { Undefined, X, Y, Z, X_Pos, …, Z_Both }

## Properties

- doubleTap : const bool
- tapDirection : const TapDirection

## Public Functions

bool | isDoubleTap() const
void | setDoubleTap(bool doubleTap)
void | setTapDirection(TapDirection tapDirection)
TapDirection | tapDirection() const

## Detailed Description

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

TapDirection | tapDirection() const

See also QTapReading Units.

## Member Function Documentation

### void QTapReading::setDoubleTap(bool doubleTap)

Sets the double tap status of the reading to doubleTap.

See also isDoubleTap().

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

Sets the tap direction to tapDirection.

See also tapDirection().