- Qt 6.9
- Qt Quick 3D
- QML Types
- QtQuick3D.Xr (Technical Preview)
- XrHapticFeedback
- Qt Quick 3D | Commercial or GPLv3

# XrHapticFeedback QML Type

Controls haptic feedback for an XR controller. More...

Import Statement: | `import QtQuick3D.Xr`
Since: | Qt 6.9
Status: | Technical Preview

- List of all members, including inherited members

## Properties

- condition : enumeration
- controller : enumeration
- hapticEffect : XrHapticEffect
- trigger : bool

## Methods

- void start()
- void stop()

## Detailed Description

Haptic feedback typically involves applying a short vibration to a controller to provide a tactile experience when an event happens. This can give the illusion of touching a button, for example.

There are two ways of using XrHapticFeedback:

- Imperatively, by calling the start function
- Declaratively, by specifying trigger and condition

The following code makes the right-hand controller vibrate when the value of the `someObject.hit` property changes from `false` to `true`:

     XrHapticFeedback {
         controller: XrHapticFeedback.RightController
         condition: XrHapticFeedback.RisingEdge
         trigger: someObject.hit
         hapticEffect: XrSimpleHapticEffect {
             amplitude: 0.5
             duration: 300
             frequency: 3000
         }
     }

## Property Documentation

condition : enumeration `[default: XrHapticFeedback.RisingEdge]`

The condition for triggering this haptic feedback.

This property specifies how the trigger property is interpreted

It can be one of:

Constant | Description
--- | ---
`XrHapticFeedback.RisingEdge` | The haptic effect starts when trigger changes from `false` to `true`.
`XrHapticFeedback.TrailingEdge` | The haptic effect starts when trigger changes from `true` to `false`.

controller : enumeration

The Controller that this haptic feedback will apply to.

It can be one of:

Constant | Value
--- | ---
`XrHapticFeedback.LeftController`
`XrHapticFeedback.RightController`
`XrHapticFeedback.UnknownController`

hapticEffect : XrHapticEffect

This property describes the effect that is applied to the controller when the haptic feedback is triggered.

trigger : bool

Trigger for the haptic feedback

This property defines what the haptic effect will react to. The condition property determines how the trigger is interpreted.

See also start and condition.

## Method Documentation

void start()

Starts the haptic feedback effect

void stop()

Stops the haptic feedback effect