---
title: GCDualShockGamepad
framework: gamecontroller
role: symbol
role_heading: Class
path: gamecontroller/gcdualshockgamepad
---

# GCDualShockGamepad

A controller profile that supports the DualShock 4 controller.

## Declaration

```swift
class GCDualShockGamepad
```

## Overview

Overview The DualShock 4 controller profile is similar to an extended gamepad (GCExtendedGamepad), but has a touchpad with a button and two-finger tracking.

This profile also supports motion — that is, the controller’s motion property is non-nil. If you hold the controller in front of you, the direction of the axes are: The positive x-axis points to your right. The positive y-axis points up. The positive z-axis starts at the touchpad and points to you.

## Topics

### Getting button input

- [touchpadButton](gamecontroller/gcdualshockgamepad/touchpadbutton.md)

### Tracking finger locations

- [touchpadPrimary](gamecontroller/gcdualshockgamepad/touchpadprimary.md)
- [touchpadSecondary](gamecontroller/gcdualshockgamepad/touchpadsecondary.md)

### Accessing elements by name

- [DualShock controller input names](gamecontroller/dualshock-controller-input-names.md)

## Relationships

### Inherits From

- [GCExtendedGamepad](gamecontroller/gcextendedgamepad.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 profiles

- [extendedGamepad](gamecontroller/gccontroller/extendedgamepad.md)
- [GCPhysicalInputProfile](gamecontroller/gcphysicalinputprofile.md)
- [GCKeyboardInput](gamecontroller/gckeyboardinput.md)
- [GCMouseInput](gamecontroller/gcmouseinput.md)
- [GCExtendedGamepad](gamecontroller/gcextendedgamepad.md)
- [GCXboxGamepad](gamecontroller/gcxboxgamepad.md)
- [GCDualSenseGamepad](gamecontroller/gcdualsensegamepad.md)
- [microGamepad](gamecontroller/gccontroller/microgamepad.md)
- [GCMicroGamepad](gamecontroller/gcmicrogamepad.md)
- [GCDirectionalGamepad](gamecontroller/gcdirectionalgamepad.md)
- [motion](gamecontroller/gccontroller/motion.md)
- [physicalInputProfile](gamecontroller/gccontroller/physicalinputprofile.md)
- [gamepad](gamecontroller/gccontroller/gamepad.md)
