GameController tvOS 15.4 to 16.0 API Differences

GCAxisElement.h
Added GCAxisElement
Added GCAxisElement.absoluteInput
Added GCAxisElement.relativeInput
GCAxisInput.h
Added GCAxisInput
Added GCAxisInput.valueDidChangeHandler
Added GCAxisInput.value
Added GCAxisInput.analog
Added GCAxisInput.canWrap
Added GCAxisInput.lastValueTimestamp
Added GCAxisInput.lastValueLatency
GCButtonElement.h
Added GCButtonElement
Added GCButtonElement.pressedInput
Added GCButtonElement.touchedInput
GCController.h
Added GCController.physicalInputProfile
GCDevice.h
Modified GCDevice.physicalInputProfile
AvailabilityDeprecation Message
FromAvailablenone
ToDeprecatedUse the physicalInputProfile property on GCController instead. For GCKeyboard, use the keyboardInput property. For GCMouse, use the mouseInput property.

GCDevicePhysicalInput.h
Added GCDevicePhysicalInput
Added GCDevicePhysicalInput.device
Added GCDevicePhysicalInput.elementValueDidChangeHandler
Added -[GCDevicePhysicalInput capture]
Added GCDevicePhysicalInput.inputStateAvailableHandler
Added GCDevicePhysicalInput.inputStateQueueDepth
Added -[GCDevicePhysicalInput nextInputState]
GCDevicePhysicalInputState.h
Added GCDevicePhysicalInputState
Added GCDevicePhysicalInputState.device
Added GCDevicePhysicalInputState.lastEventTimestamp
Added GCDevicePhysicalInputState.lastEventLatency
Added GCDevicePhysicalInputState.elements
Added GCDevicePhysicalInputState.buttons
Added GCDevicePhysicalInputState.axes
Added GCDevicePhysicalInputState.switches
Added GCDevicePhysicalInputState.dpads
Added -[GCDevicePhysicalInputState objectForKeyedSubscript:]
GCDevicePhysicalInputStateDiff.h
Added GCDevicePhysicalInputElementChange
Added GCDevicePhysicalInputElementUnknownChange
Added GCDevicePhysicalInputElementNoChange
Added GCDevicePhysicalInputElementChanged
Added GCDevicePhysicalInputStateDiff
Added -[GCDevicePhysicalInputStateDiff changeForElement:]
Added -[GCDevicePhysicalInputStateDiff changedElements]
GCDirectionPadElement.h
Added GCDirectionPadElement
Added GCDirectionPadElement.xAxis
Added GCDirectionPadElement.yAxis
Added GCDirectionPadElement.up
Added GCDirectionPadElement.down
Added GCDirectionPadElement.left
Added GCDirectionPadElement.right
GCGearShifterElement.h
Added GCGearShifterElement
Added GCGearShifterElement.patternInput
Added GCGearShifterElement.sequentialInput
GCInputNames.h
Added GCInputSteeringWheel
Added GCInputShifter
Added GCInputPedalAccelerator
Added GCInputPedalBrake
Added GCInputPedalClutch
Added GCInputLeftPaddle
Added GCInputRightPaddle
GCLinearInput.h
Added GCLinearInput
Added GCLinearInput.valueDidChangeHandler
Added GCLinearInput.value
Added GCLinearInput.analog
Added GCLinearInput.canWrap
Added GCLinearInput.lastValueTimestamp
Added GCLinearInput.lastValueLatency
GCPhysicalInputElement.h
Added GCPhysicalInputElement
Added GCPhysicalInputElement.sfSymbolsName
Added GCPhysicalInputElement.localizedName
Added GCPhysicalInputElement.aliases
GCPhysicalInputProfile.h
Added GCPhysicalInputProfile.valueDidChangeHandler
GCPressedStateInput.h
Added GCPressedStateInput
Added GCPressedStateInput.pressedDidChangeHandler
Added GCPressedStateInput.pressed
Added GCPressedStateInput.lastPressedStateTimestamp
Added GCPressedStateInput.lastPressedStateLatency
GCProductCategories.h
Added GCProductCategoryHID
GCRacingWheel.h
Added GCRacingWheelDidConnectNotification
Added GCRacingWheelDidDisconnectNotification
Added GCRacingWheel
Added GCRacingWheel.connectedRacingWheels
Added -[GCRacingWheel acquireDeviceWithError:]
Added -[GCRacingWheel relinquishDevice]
Added GCRacingWheel.acquired
Added GCRacingWheel.wheelInput
Added GCRacingWheel.snapshot
Added -[GCRacingWheel capture]
GCRacingWheelInput.h
Added GCRacingWheelInputState
Added GCRacingWheelInputState.wheel
Added GCRacingWheelInputState.acceleratorPedal
Added GCRacingWheelInputState.brakePedal
Added GCRacingWheelInputState.clutchPedal
Added GCRacingWheelInputState.shifter
Added GCRacingWheelInput
Added -[GCRacingWheelInput capture]
Added -[GCRacingWheelInput nextInputState]
GCRelativeInput.h
Added GCRelativeInput
Added GCRelativeInput.deltaDidChangeHandler
Added GCRelativeInput.delta
Added GCRelativeInput.analog
Added GCRelativeInput.lastDeltaTimestamp
Added GCRelativeInput.lastDeltaLatency
GCSteeringWheelElement.h
Added GCSteeringWheelElement
Added GCSteeringWheelElement.maximumDegreesOfRotation
GCSwitchElement.h
Added GCSwitchElement
Added GCSwitchElement.positionInput
GCSwitchPositionInput.h
Added GCSwitchPositionInput
Added GCSwitchPositionInput.positionDidChangeHandler
Added GCSwitchPositionInput.position
Added GCSwitchPositionInput.positionRange
Added GCSwitchPositionInput.sequential
Added GCSwitchPositionInput.canWrap
Added GCSwitchPositionInput.lastPositionTimestamp
Added GCSwitchPositionInput.lastPositionLatency
GCSyntheticDeviceKeys.h
Added #def kIOHIDGCSyntheticDeviceKey
GCTouchedStateInput.h
Added GCTouchedStateInput
Added GCTouchedStateInput.touchedDidChangeHandler
Added GCTouchedStateInput.touched
Added GCTouchedStateInput.lastTouchedStateTimestamp
Added GCTouchedStateInput.lastTouchedStateLatency