---
title: Input
framework: gamecontroller
role: collectionGroup
role_heading: API Collection
path: gamecontroller/input
---

# Input

Receive controller input in the way that best integrates with the flow of your game or game engine.

## Topics

### Essentials

- [Handling input events](gamecontroller/handling-input-events.md)
- [GCDevicePhysicalInput](gamecontroller/gcdevicephysicalinput.md)
- [GCDevicePhysicalInputState](gamecontroller/gcdevicephysicalinputstate.md)
- [GCDevicePhysicalInputStateDiff](gamecontroller/gcdevicephysicalinputstatediff.md)

### Elements

- [GCPhysicalInputElementCollection](gamecontroller/gcphysicalinputelementcollection-swift.struct.md)
- [GCPhysicalInputElement](gamecontroller/gcphysicalinputelement.md)
- [GCButtonElement](gamecontroller/gcbuttonelement.md)
- [GCAxisElement](gamecontroller/gcaxiselement.md)
- [GCSwitchElement](gamecontroller/gcswitchelement.md)
- [GCDirectionPadElement](gamecontroller/gcdirectionpadelement.md)

### Element inputs

- [GCPhysicalInputSource](gamecontroller/gcphysicalinputsource.md)

### Element names

- [GCPhysicalInputElementName](gamecontroller/gcphysicalinputelementname-swift.struct.md)
- [GCPhysicalInputElementTypedName](gamecontroller/gcphysicalinputelementtypedname.md)
- [GCButtonElementName](gamecontroller/gcbuttonelementname-swift.struct.md)
- [GCAxisElementName](gamecontroller/gcaxiselementname-swift.struct.md)
- [GCSwitchElementName](gamecontroller/gcswitchelementname-swift.struct.md)
- [GCDirectionPadElementName](gamecontroller/gcdirectionpadelementname-swift.struct.md)
- [Extended gamepad input names](gamecontroller/extended-gamepad-input-names.md)
- [DualShock controller input names](gamecontroller/dualshock-controller-input-names.md)
- [Xbox controller input names](gamecontroller/xbox-controller-input-names.md)
- [Micro gamepad input names](gamecontroller/micro-gamepad-input-names.md)
- [Directional Gamepad Input Names](gamecontroller/directional-gamepad-input-names.md)

## See Also

### Game controller profiles

- [GCMotion](gamecontroller/gcmotion.md)
- [GCDeviceBattery](gamecontroller/gcdevicebattery.md)
- [GCDeviceHaptics](gamecontroller/gcdevicehaptics.md)
- [GCDeviceLight](gamecontroller/gcdevicelight.md)
