Classes
The following classes are available globally.
-
Steam Controllers are available to an application that links to
SteamController.framework
. To detect connected or pairing Steam Controllers, callscanForControllers
onSteamControllerManager
. Because of the way bluetooth accessories communicate with iOS apps, it’s not possible to detect the connection automatically using public API, so you will need to callscanForControllers
accordingly to ensure they’re available when needed (e.g. before starting a game, after a controller is disconnected).Once connected, they work in the same way as the native
GCGameController
fromGameController.framework
, and can be accessed in the same ways:- Querying for the the current array of controllers using
[GCController controllers]
. - Registering for Connection/Disconnection notifications from
NSNotificationCenter
.
Steam Controllers are represented by the
SteamController
class, a subclass ofGCController
. It implements theGCGamepad
andGCExtendedGamepad
profiles, and has additional functionality relevant to the Steam Controller:- Changing the mapping of the trackpads and stick.
- Requiring clicking on the trackpads for input to be sent.
- Identifying a controller by playing a tune on it.
- Handling combinations of Steam button + another button.
Declaration
Objective-C
@interface SteamController : GCController
Swift
class SteamController : GCController
- Querying for the the current array of controllers using
-
See moreSteamControllerManager
handles the connection and disconnection of Steam Controllers, and inserts connected Steam Controllers into the array of controllers returned by[GCController controllers]
.Declaration
Objective-C
@interface SteamControllerManager : NSObject
Swift
class SteamControllerManager : NSObject