---
title: GCGamepad
framework: gamecontroller
role: symbol
role_heading: Class
path: gamecontroller/gcgamepad
---

# GCGamepad

The standard set of gamepad controls.

## Declaration

```swift
class GCGamepad
```

## Overview

Overview The controls associated with the gamepad profile include the following: Two shoulder buttons. Four face buttons arranged in a diamond pattern. One directional pad (D-pad).

## Topics

### Determining the Controller That Owns This Profile

- [controller](gamecontroller/gcgamepad/controller.md)

### Determining When Any Element in the Profile Changes

- [valueChangedHandler](gamecontroller/gcgamepad/valuechangedhandler.md)

### Reading Shoulder Button Inputs

- [leftShoulder](gamecontroller/gcgamepad/leftshoulder.md)
- [rightShoulder](gamecontroller/gcgamepad/rightshoulder.md)

### Reading Directional Pad Inputs

- [dpad](gamecontroller/gcgamepad/dpad.md)

### Reading Face Button Inputs

- [buttonA](gamecontroller/gcgamepad/buttona.md)
- [buttonB](gamecontroller/gcgamepad/buttonb.md)
- [buttonX](gamecontroller/gcgamepad/buttonx.md)
- [buttonY](gamecontroller/gcgamepad/buttony.md)

### Saving a Snapshot

- [saveSnapshot()](gamecontroller/gcgamepad/savesnapshot().md)

### Constants

- [GCGamepadValueChangedHandler](gamecontroller/gcgamepadvaluechangedhandler.md)

## Relationships

### Inherits From

- [GCPhysicalInputProfile](gamecontroller/gcphysicalinputprofile.md)

### Inherited By

- [GCGamepadSnapshot](gamecontroller/gcgamepadsnapshot.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

### Deprecated symbols

- [GCExtendedGamepadSnapshot](gamecontroller/gcextendedgamepadsnapshot.md)
- [GCGamepadSnapshot](gamecontroller/gcgamepadsnapshot.md)
- [GCMicroGamepadSnapshot](gamecontroller/gcmicrogamepadsnapshot.md)
- [GCExtendedGamepadSnapshotData](gamecontroller/gcextendedgamepadsnapshotdata.md)
- [GCMicroGamepadSnapshotData](gamecontroller/gcmicrogamepadsnapshotdata.md)
- [GCExtendedGamepadSnapshotDataVersion](gamecontroller/gcextendedgamepadsnapshotdataversion.md)
- [GCMicroGamepadSnapshotDataVersion](gamecontroller/gcmicrogamepadsnapshotdataversion.md)
- [GCCurrentExtendedGamepadSnapshotDataVersion](gamecontroller/gccurrentextendedgamepadsnapshotdataversion.md)
- [GCCurrentMicroGamepadSnapshotDataVersion](gamecontroller/gccurrentmicrogamepadsnapshotdataversion.md)
- [GCExtendedGamepadSnapshotDataFromNSData(_:_:)](gamecontroller/gcextendedgamepadsnapshotdatafromnsdata(_:_:).md)
- [GCMicroGamepadSnapshotDataFromNSData(_:_:)](gamecontroller/gcmicrogamepadsnapshotdatafromnsdata(_:_:).md)
- [NSDataFromGCExtendedGamepadSnapshotData(_:)](gamecontroller/nsdatafromgcextendedgamepadsnapshotdata(_:).md)
- [NSDataFromGCMicroGamepadSnapshotData(_:)](gamecontroller/nsdatafromgcmicrogamepadsnapshotdata(_:).md)
