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, callscanForControllersonSteamControllerManager. 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 callscanForControllersaccordingly 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
GCGameControllerfromGameController.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
SteamControllerclass, a subclass ofGCController. It implements theGCGamepadandGCExtendedGamepadprofiles, 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 : GCControllerSwift
class SteamController : GCController - Querying for the the current array of controllers using
-
See moreSteamControllerManagerhandles 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 : NSObjectSwift
class SteamControllerManager : NSObject
View on GitHub
Classes Reference