---
title: GCDualSenseAdaptiveTrigger
framework: gamecontroller
role: symbol
role_heading: Class
path: gamecontroller/gcdualsenseadaptivetrigger
---

# GCDualSenseAdaptiveTrigger

A class that encapsulates the features of a DualSense adaptive trigger.

## Declaration

```swift
class GCDualSenseAdaptiveTrigger
```

## Overview

Overview A GCDualSenseAdaptiveTrigger object allows you to specify a dynamic resistance force that the DualSense controller applies when the user pulls the trigger. For example, set the resistance to give the user the feeling of pulling back on a bow string, firing a weapon, or pulling a lever.

## Topics

### Getting the mode

- [mode](gamecontroller/gcdualsenseadaptivetrigger/mode-swift.property.md)
- [GCDualSenseAdaptiveTrigger.Mode](gamecontroller/gcdualsenseadaptivetrigger/mode-swift.enum.md)
- [setModeOff()](gamecontroller/gcdualsenseadaptivetrigger/setmodeoff().md)

### Configuring the trigger

- [setModeFeedbackWithStartPosition(_:resistiveStrength:)](gamecontroller/gcdualsenseadaptivetrigger/setmodefeedbackwithstartposition(_:resistivestrength:).md)
- [GCDualSenseAdaptiveTrigger.PositionalResistiveStrengths](gamecontroller/gcdualsenseadaptivetrigger/positionalresistivestrengths.md)
- [setModeFeedback(resistiveStrengths:)](gamecontroller/gcdualsenseadaptivetrigger/setmodefeedback(resistivestrengths:).md)
- [setModeWeaponWithStartPosition(_:endPosition:resistiveStrength:)](gamecontroller/gcdualsenseadaptivetrigger/setmodeweaponwithstartposition(_:endposition:resistivestrength:).md)
- [setModeVibrationWithStartPosition(_:amplitude:frequency:)](gamecontroller/gcdualsenseadaptivetrigger/setmodevibrationwithstartposition(_:amplitude:frequency:).md)
- [setModeVibration(amplitudes:frequency:)](gamecontroller/gcdualsenseadaptivetrigger/setmodevibration(amplitudes:frequency:).md)
- [GCDualSenseAdaptiveTrigger.PositionalAmplitudes](gamecontroller/gcdualsenseadaptivetrigger/positionalamplitudes.md)
- [setModeSlopeFeedback(startPosition:endPosition:startStrength:endStrength:)](gamecontroller/gcdualsenseadaptivetrigger/setmodeslopefeedback(startposition:endposition:startstrength:endstrength:).md)

### Getting the arm position

- [armPosition](gamecontroller/gcdualsenseadaptivetrigger/armposition.md)
- [discretePositionCount](gamecontroller/gcdualsenseadaptivetrigger/discretepositioncount.md)

### Checking the status

- [status](gamecontroller/gcdualsenseadaptivetrigger/status-swift.property.md)
- [GCDualSenseAdaptiveTrigger.Status](gamecontroller/gcdualsenseadaptivetrigger/status-swift.enum.md)

## Relationships

### Inherits From

- [GCControllerButtonInput](gamecontroller/gccontrollerbuttoninput.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Accessing controller elements

- [GCControllerElement](gamecontroller/gccontrollerelement.md)
- [GCControllerAxisInput](gamecontroller/gccontrolleraxisinput.md)
- [GCControllerButtonInput](gamecontroller/gccontrollerbuttoninput.md)
- [GCControllerTouchpad](gamecontroller/gccontrollertouchpad.md)
- [GCControllerDirectionPad](gamecontroller/gccontrollerdirectionpad.md)
- [GCDeviceCursor](gamecontroller/gcdevicecursor.md)
