Steamworks-dokumentation
ISteamController-grænseflade (udfaset)
Understøttelse af API til Steam Controller.

Denne API er blevet udfaset til fordel for ISteamInput – læs ISteamInput-grænseflade for flere oplysninger om API'er.

Se dokumentationen Steam Input for flere oplysninger.

Medlemsfunktioner

Medlemsfunktioner for ISteamController kaldes gennem den globale accessor-funktion SteamController().

ActivateActionSet

void ActivateActionSet( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle );
NavnTypeBeskrivelse
controllerHandleControllerHandle_tHandlet tilhørende controlleren, du ønsker at aktivere et handlingssæt for.
actionSetHandleControllerActionSetHandle_tHandlet tilhørende handlingssættet, du ønsker at aktivere.

Omkonfigurer controlleren til at bruge det angivne handlingssæt (f.eks. "Menu", "Gå" eller "Kør").

Dette er billigt og kan kaldes sikkert gentagne gange. Det er ofte nemmere at kalde handlingssættet gentagne gange i dine tilstands-loops i stedet for at anbringe det i alle dine tilstandsændringer.

Eksempel:
void updateStateLoop() { switch( currentState ) { case MENU: SteamController()->ActivateActionSet( controllerHandle1, menuSetHandle ); doMenuStuff(); break; case WALKING: SteamController()->ActivateActionSet( controllerHandle1, walkingSetHandle ); doWalkingStuff(); break; case DRIVING: SteamController()->ActivateActionSet( controllerHandle1, drivingSetHandle ); doDrivingStuff(); break; case FIGHTING: SteamController()->ActivateActionSet( controllerHandle1, fightingSetHandle ); doFightingStuff(); break; } }

Aktiver alle controllere

Ofte kan der være situationer, hvor du ønsker at aktivere alle controllerne på én gang, frem for en enkel enhed. I disse tilfæde bør du bruge konstanten STEAM_CONTROLLER_HANDLE_ALL_CONTROLLERS som controller-handle. Du kan på samme måde bruge denne værdi i alle andre funktioner, som skal have et individuelt controller-handle.

Eksempel:
void updateStateLoop() { switch( currentState ) { case MENU: SteamController()->ActivateActionSet( STEAM_CONTROLLER_HANDLE_ALL_CONTROLLERS, menuSetHandle ); doMenuStuff(); break; case WALKING: SteamController()->ActivateActionSet( STEAM_CONTROLLER_HANDLE_ALL_CONTROLLERS, walkingSetHandle ); doWalkingStuff(); break; case DRIVING: SteamController()->ActivateActionSet( STEAM_CONTROLLER_HANDLE_ALL_CONTROLLERS, drivingSetHandle ); doDrivingStuff(); break; case FIGHTING: SteamController()->ActivateActionSet( STEAM_CONTROLLER_HANDLE_ALL_CONTROLLERS, fightingSetHandle ); doFightingStuff(); break; } }

ActivateActionSetLayer

void ActivateActionSetLayer( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetLayerHandle );
NavnTypeBeskrivelse
controllerHandleControllerHandle_tHandlet tilhørende controlleren, du ønsker at aktivere et handlingssætlag for.
actionSetHandleControllerActionSetHandle_tHandlet tilhørende handlingssætlaget, som du ønsker at aktivere.

Omkonfigurer controlleren til at bruge det angivne handlingssætlag.

Se artiklen Handlingssætlag for at læse alle detaljerne og se et dybdegående eksempel.

Eksempel:
SteamController()->ActivateActionSetLayer( controllerHandle1, myActionSetLayer );

DeactivateActionSetLayer

void DeactivateActionSetLayer( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetLayerHandle );
NavnTypeBeskrivelse
controllerHandleControllerHandle_tHandlet tilhørende controlleren, du ønsker at deaktivere et handlingssætlag for.
actionSetHandleControllerActionSetHandle_tHandlet tilhørende handlingssætlaget, som du ønsker at deaktivere.

Omkonfigurer controlleren til at stoppe med at bruge det angivne handlingssætlag.

Eksempel:
SteamController()->DeactivateActionSetLayer( controllerHandle1, myActionSetLayer );

DeactivateAllActionSetLayers

void DeactivateAllActionSetLayers( ControllerHandle_t controllerHandle );
NavnTypeBeskrivelse
controllerHandleControllerHandle_tHandlet tilhørende controlleren, du ønsker at deaktivere alle handlingssætlag for.

Omkonfigurer controlleren til at stoppe med at bruge alle handlingssætlag.

Eksempel:
SteamController()->DeactivateAllActionSetLayers( controllerHandle1 );

GetActiveActionSetLayers

int GetActiveActionSetLayers( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t *handlesOut );
NavnTypeBeskrivelse
controllerHandleControllerHandle_tHandlet tilhørende controlleren, du ønsker at hente aktive handlingssætlag for.
handlesOutControllerActionSetHandle_t*Dette skal pege på et array af ControllerHandle_t med størrelsen STEAM_CONTROLLER_MAX_COUNT.

Fyld et array med alle de nuværende aktive handlingssætlag for et specificeret controller-handle.

Eksempel:
ControllerHandle_t *handlesOut = new ControllerHandle_t []; SteamController()->GetActiveActionSetLayers( controllerHandle1, &handlesOut );

GetActionSetHandle

ControllerActionSetHandle_t GetActionSetHandle( const char *pszActionSetName );
NavnTypeBeskrivelse
pszActionSetNameconst char *Strengidentifikatoren for et handlingssæt, som er defineret i spillets VDF-fil.

Slå handlet op til et handlingssæt. Det er bedst at gøre dette én gang ved opstart og gemme alle handles til alle fremtidige API-kald.

Returværdier: ControllerActionSetHandle_t
Handlet tilhørende det angivne handlingssæt.

Eksempel:
ControllerActionSetHandle_t fightingSetHandle = SteamController()->GetActionSetHandle( "fighting" );

GetAnalogActionData

ControllerAnalogActionData_t GetAnalogActionData( ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t analogActionHandle );
NavnTypeBeskrivelse
controllerHandleControllerHandle_tHandlet tilhørende controlleren, du ønsker at forespørge om.
analogActionHandleControllerAnalogActionHandle_tHandlet til den analoge handling, du ønsker at forespørge om.

Returnerer den aktuelle tilstand for den givne analoge spilhandling.

Returværdier: ControllerAnalogActionData_t
Den aktuelle tilstand for den angivne analoge handling.

Eksempel:
ControllerAnalogActionData_t data = SteamController()->GetAnalogActionData( controller1Handle, moveHandle );

GetAnalogActionHandle

ControllerAnalogActionHandle_t GetAnalogActionHandle( const char *pszActionName );
NavnTypeBeskrivelse
pszActionNameconst char *Strengidentifikatoren for en analog handling, som er defineret i spillets VDF-fil.

Henter handlet for den angivne analoge handling.

BEMÆRK: Denne funktion tager ikke imod et handlingssæt-handle som parameter. Dette betyder, at hver handling i din VDF-fil skal have et entydigt strengnavn. Sagt med andre ord, hvis du bruger en handling kaldet "op" i to forskellige handlingssæt, vil denne funktion kun returnere én af dem, og den anden vil blive ignoreret.

Returværdier: ControllerAnalogActionHandle_t
Handlet tilhørende den angivne analoge handling.

Eksempel:
ControllerAnalogActionHandle_t moveHandle = SteamController()->GetAnalogActionHandle( "move" );

GetAnalogActionOrigins

int GetAnalogActionOrigins( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle, ControllerAnalogActionHandle_t analogActionHandle, EControllerActionOrigin *originsOut );
NavnTypeBeskrivelse
controllerHandleControllerHandle_tHandlet tilhørende controlleren, du ønsker at forespørge om.
actionSetHandleControllerActionSetHandle_tHandlet tilhørende handlingssættet, du ønsker at forespørge om.
analogActionHandleControllerAnalogActionHandle_tHandlet til den analoge handling, du ønsker at forespørge om.
originsOutEControllerActionOrigin *Et array af størrelsen STEAM_CONTROLLER_MAX_ORIGINS med handles af EControllerActionOrigin.

Henter kilden/kilderne tilhørende en analog handling i et handlingssæt ved at fylde originsOut med handles af EControllerActionOrigin. Brug dette til at vise den passende prompt på skærmen for handlingen.

Returværdier: int
Antallet af kilder angivet i originsOut.

Eksempel:
EControllerActionOrigin *origins = new EControllerActionOrigin[]; SteamController()->GetAnalogActionOrigins( controller1Handle, walkingSetHandle, moveHandle, origins );

GetConnectedControllers

int GetConnectedControllers( ControllerHandle_t *handlesOut );
NavnTypeBeskrivelse
handlesOutControllerHandle_t *Dette skal pege på et array af ControllerHandle_t med størrelsen STEAM_CONTROLLER_MAX_COUNT.

Optæller controllere, som er forbundet i øjeblikket, ved at udfylde handlesOut med controller-handles.

Returværdier: int
Antallet af handles skrevet i originsOut.

Eksempel:
ControllerHandle_t *controllerHandles = new ControllerHandle_t[]; SteamController()->GetConnectedControllers( controllerHandles );

GetControllerForGamepadIndex

ControllerHandle_t GetControllerForGamepadIndex( int nIndex );
NavnTypeBeskrivelse
nIndexintIndekset tilhørende den emulerede gamepad, du ønsker at hente et controller-handle for.

Returnerer det tilknyttede controller-handle for den angivne emulerede gamepad. Kan bruges med GetInputTypeForHandle til at afgøre en controllers type ved at bruge gamepad-emulering med Steam Input.

Returværdier: ControllerHandle_t


Eksempel:
// Erstat med den Xinput-plads, du forespørger om. Dette nummer er mellem 0 og 3 int nXinputSlotIndex = 0; ControllerHandle_t controllerHandle = SteamController()->GetControllerForGamepadIndex( nXinputSlotIndex ); if ( controllerHandle == 0 ) { // Gyldige handles er ikke nul, dette er en normal Xbox-controller. } else { ESteamInputType inputType = SteamController()->GetInputTypeForHandle(controllerHandle); switch(inputType) { case k_ESteamInputType_Unknown: printf("unknown\n!"); break; case k_ESteamInputType_SteamController: printf("Steam controller\n!"); break; case k_ESteamInputType_XBox360Controller: printf("XBox 360 controller\n!"); break; case k_ESteamInputType_XBoxOneController: printf("XBox One controller\n!"); break; case k_ESteamInputType_GenericXInput: printf("Generic XInput\n!"); break; case k_ESteamInputType_PS4Controller: printf("PS4 controller\n!"); break; } }

GetCurrentActionSet

ControllerActionSetHandle_t GetCurrentActionSet( ControllerHandle_t controllerHandle );
NavnTypeBeskrivelse
controllerHandleControllerHandle_tHandlet tilhørende controlleren, du ønsker at forespørge om.

Henter det handlingssæt, som er aktivt i øjeblikket for den angivne controller.

Returværdier: ControllerActionSetHandle_t
Handlet tilhørende handlingssættet, som er aktiveret for den angivne controller.

Eksempel:
ControllerActionSetHandle_t controller1Set = SteamController()->GetCurrentActionSet(controller1Handle);

GetDigitalActionData

ControllerDigitalActionData_t GetDigitalActionData( ControllerHandle_t controllerHandle, ControllerDigitalActionHandle_t digitalActionHandle );
NavnTypeBeskrivelse
controllerHandleControllerHandle_tHandlet tilhørende controlleren, du ønsker at forespørge om.
digitalActionHandleControllerDigitalActionHandle_tHandlet tilhørende den digitale handling, du ønsker at forespørge om.

Returnerer den aktuelle tilstand for den givne digitale spilhandling.

Returværdier: ControllerDigitalActionData_t
Den aktuelle tilstand for den angivne digitale handling.

GetDigitalActionHandle

ControllerDigitalActionHandle_t GetDigitalActionHandle( const char *pszActionName );
NavnTypeBeskrivelse
pszActionNameconst char *Strengidentifikatoren for den digitale handling, som er defineret i spillets VDF-fil.

Henter handlet for den angivne digitale handling.

BEMÆRK: Denne funktion tager ikke imod et handlingssæt-handle som parameter. Dette betyder, at hver handling i din VDF-fil skal have et entydigt strengnavn. Sagt med andre ord, hvis du bruger en handling kaldet "op" i to forskellige handlingssæt, vil denne funktion kun returnere én af dem, og den anden vil blive ignoreret.

Returværdier: ControllerAnalogActionHandle_t
Handlet tilhørende den angivne digitale handling.

Eksempel:
ControllerDigitalActionHandle_t punchHandle = SteamController()->GetDigitalActionHandle( "punch" );

GetDigitalActionOrigins

int GetDigitalActionOrigins( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle, ControllerDigitalActionHandle_t digitalActionHandle, EControllerActionOrigin *originsOut );
NavnTypeBeskrivelse
controllerHandleControllerHandle_tHandlet tilhørende controlleren, du ønsker at forespørge om.
actionSetHandleControllerActionSetHandle_tHandlet tilhørende handlingssættet, du ønsker at forespørge om.
digitalActionHandleControllerDigitalActionHandle_tHandlet tilhørende den digitale handling, du ønsker at forespørge om.
originsOutEControllerActionOrigin *Et array af størrelsen STEAM_CONTROLLER_MAX_ORIGINS med handles af EControllerActionOrigin.

Henter kilden/kilderne tilhørende et digitalt handlingssæt ved at fylde originsOut med handles af EControllerActionOrigin. Brug dette til at vise den passende prompt på skærmen for handlingen.

Returværdier: int
Antallet af kilder angivet i originsOut.

Eksempel:
EControllerActionOrigin *origins = new EControllerActionOrigin[]; SteamController()->GetDigitalActionOrigins( controller1Handle, fightingSetHandle, punchHandle, origins );

GetGamepadIndexForController

int GetGamepadIndexForController( ControllerHandle_t ulControllerHandle );
NavnTypeBeskrivelse
ulControllerHandleControllerHandle_tHandlet tilhørende controlleren, du ønsker at hente et gampad-indeks for.

Returnerer det tilknyttede gamepad-indeks for den angivne controller, hvis en gamepad emuleres.

Returværdier: int


Eksempel:
int gamepadIndex = SteamController()->GetGamepadIndexForController( controller1Handle );

GetGlyphForActionOrigin

const char * GetGlyphForActionOrigin( EControllerActionOrigin eOrigin );
NavnTypeBeskrivelse
eOriginEControllerActionOrigin

Henter den lokale sti til billeder, der bruges til glyffer på skærmen for en bestemt kilde.

Returværdier: const char *
Stien til png-filen til specialtegnet.
F.eks. "C:\Programmer (x86)\Steam\tenfoot\resource\images\library\controller\api\ps4_button_x.png"

Eksempel:
// Hent kilde for "punch" EControllerActionOrigin *origins = new EControllerActionOrigin[]; SteamController()->GetDigitalActionOrigins( controller1Handle, fightingSetHandle, punchHandle, origins ); EControllerActionOrigin firstOrigin = origins[0]; //i.e, k_EControllerActionOrigin_PS4_X // Dette er en funktion fra spillet selv, som prøver på at hente tilpassede ikonillustrationer int glyphTextureID = getHardCodedButtonGlyphTexture( firstOrigin ); // Vi udgav ikke illustrationer i vores spil for denne kilde! Steam må have tilføjet understøttelse til // en ny controller, eller også glemte vi at tilføje dette billede! //(f.eks. har vi kun Steam Controller-ikoner, men det er en PlayStation 4-controller) if( glyphTextureID == -1 ) { // Bare hent billedet fra Steam-klienten i stedet. const char *localGlyphPath = SteamController()->GetGlyphForActionOrigin( firstOrigin ); printf( "path = %s\n", localGlyphPath ); // "path = C:\Program Files (x86)\Steam\tenfoot\resource\images\library\controller\api\ps4_button_x.png" //en funktion fra spillet, som laver en filsti til en anvendelig spiltekstur glyphTextureID = loadButtonGlyphTextureFromLocalPath( localGlyphPath ); }

GetInputTypeForHandle

ESteamInputType GetInputTypeForHandle( ControllerHandle_t controllerHandle );
NavnTypeBeskrivelse
controllerHandleControllerHandle_tControllerens handle med den inputtype (enhedsmodel), du ønsker at forespørge

Returnerer inputtypen (enhedsmodellen) for den angivne controller. Dette fortæller dig, om en given controller er en Steam Controller, Xbox 360-controller, PS4-controller osv. Se Steams database over understøttede controllere for flere oplysninger.

Returværdier: ESteamInputType


Eksempel:
ESteamInputType inputType = SteamController()->GetInputTypeForHandle(controller1Handle); switch(inputType) { case k_ESteamInputType_Unknown: printf("unknown\n!"); break; case k_ESteamInputType_SteamController: printf("Steam controller\n!"); break; case k_ESteamInputType_XBox360Controller: printf("XBox 360 controller\n!"); break; case k_ESteamInputType_XBoxOneController: printf("XBox One controller\n!"); break; case k_ESteamInputType_GenericXInput: printf("Generic XInput\n!"); break; case k_ESteamInputType_PS4Controller: printf("PS4 controller\n!"); break; }

GetMotionData

ControllerMotionData_t GetMotionData( ControllerHandle_t controllerHandle );
NavnTypeBeskrivelse
controllerHandleControllerHandle_tHandlet tilhørende controlleren, du ønsker at hente bevægelsesdata for.

Returnerer rå bevægelsesdata for den angivne controller.

Returværdier: ControllerMotionData_t


Eksempel:
ControllerMotionData_t motionData = SteamController()->GetControllerMotionData( controllerHandle );

GetStringForActionOrigin

const char * GetStringForActionOrigin( EControllerActionOrigin eOrigin );
NavnTypeBeskrivelse
eOriginEControllerActionOrigin

Returnerer en lokaliseret streng (fra Steams sprogindstilling) for den angivne kilde.

Returværdier: const char *


Eksempel:
EControllerActionOrigin *origins = new EControllerActionOrigin[]; SteamController()->GetDigitalActionOrigins( controller1Handle, fightingSetHandle, punchHandle, origins ); const char * punchString = SteamController()->GetStringForActionOrigin( origins[0] ); printf("punch = %s\n",punchString);

Init

bool Init();
Skal kaldes, når du begynder at bruge ISteamController-grænsefladen.

Returværdier: bool
Returnerer altid true.

Eksempel:
SteamController()->Init();

RunFrame

void RunFrame();
Synkroniser API-tilstand med de seneste Steam Controller-input, der er tilgængelige. Dette udføres automatisk af SteamAPI_RunCallbacks, men for at få den absolut laveste mulige forsinkelse kan du kalde dette direkte, før du aflæser controller-tilstanden.

Eksempel:
SteamController()->RunFrame();

SetLEDColor

void SetLEDColor( ControllerHandle_t controllerHandle, uint8 nColorR, uint8 nColorG, uint8 nColorB, unsigned int nFlags );
NavnTypeBeskrivelse
controllerHandleControllerHandle_tHandlet tilhørende controlleren, du ønsker at påvirke.
nColorRuint8Den røde komponent i farven, som skal indstilles (0-255).
nColorGuint8Den grønne komponent i farven, som skal indstilles (0-255).
nColorBuint8Den blå komponent i farven, som skal indstilles (0-255).
nFlagsunsigned intBit-masked flag kombineret fra værdier defineret i ESteamControllerLEDFlag.

Indstiller controllerens LED-farve på understøttede controllere.

Bemærkninger:
VSC'en understøtter ikke andre farver end hvid og vil fortolke RGB-værdierne som en gråskalaværdi, som påvirker lysstyrken af Steams knap-LED.
DS4 reagerer på fuld farveinformation og bruger værdierne til at indstille farve og lysstyrke for lysbjælken.

Eksempel:
// Gendanner brugerens standardfarve for controller 1: SteamController()->SetLEDColor( controller1Handle, 0, 0, 0, k_ESteamControllerLEDFlag_RestoreUserDefault ); // Indstiller farven til magenta for controller 2: SteamController()->SetLEDColor( controller2Handle, 255, 0, 255, k_ESteamControllerLEDFlag_SetColor );

ShowAnalogActionOrigins

bool ShowAnalogActionOrigins( ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t analogActionHandle, float flScale, float flXPosition, float flYPosition );
NavnTypeBeskrivelse
controllerHandleControllerHandle_t
analogActionHandleControllerAnalogActionHandle_t
flScalefloat
flXPositionfloat
flYPositionfloat

Udfaset.

Returværdier: bool
Returnerer altid true.

ShowBindingPanel

bool ShowBindingPanel( ControllerHandle_t controllerHandle );
NavnTypeBeskrivelse
controllerHandleControllerHandle_tHandlet tilhørende controlleren, du ønsker at åbne bindingsskærmen for.

Frembringer Steam-overlayet og viser bindingsskærmen.

Returværdier: bool
true hvis gennemført. false, hvis overlayet er deaktiveret/utilgængeligt, eller hvis brugeren ikke er i Big Picture-tilstand.

Eksempel:
SteamController()->ShowBindingPanel( myControllerHandle );

ShowDigitalActionOrigins

bool ShowDigitalActionOrigins( ControllerHandle_t controllerHandle, ControllerDigitalActionHandle_t digitalActionHandle, float flScale, float flXPosition, float flYPosition );
NavnTypeBeskrivelse
controllerHandleControllerHandle_t
digitalActionHandleControllerDigitalActionHandle_t
flScalefloat
flXPositionfloat
flYPositionfloat

Udfaset.

Returværdier: bool
Returnerer altid true.

Nedlukning

bool Shutdown();
Skal kaldes, når du slutter med at bruge ISteamController-grænsefladen.

Returværdier: bool
Returnerer altid true.

Eksempel:
SteamController()->Shutdown();

StopAnalogActionMomentum

void StopAnalogActionMomentum( ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t eAction );
NavnTypeBeskrivelse
controllerHandleControllerHandle_tHandlet tilhørende controlleren, du ønsker at påvirke.
eActionControllerAnalogActionHandle_tDen analoge handling, som du ønsker at stoppe fremdrift for.

Stopper fremdriften af en analog handling (hvor gældende, f.eks. en touchpad med virtuelle trackball-indstillinger).

BEMÆRK:
Dette stopper også al tilknyttet haptik. Dette er nyttigt i situationer, hvor du ønsker at indikere til brugeren, at begrænsningen for en handling er nået, eksempelvis drejning af et hjul eller rulning op eller ned på en hjemmeside.

Eksempel:
SteamController()->StopAnalogActionMomentum( controller1Handle, moveHandle );

TriggerHapticPulse

void TriggerHapticPulse( ControllerHandle_t controllerHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec );
NavnTypeBeskrivelse
controllerHandleControllerHandle_tHandlet tilhørende controlleren, du ønsker at påvirke.
eTargetPadESteamControllerPadDen haptiske touchpad, du ønsker at påvirke.
usDurationMicroSecunsigned shortVarighed af pulseringen i mikrosekunder (1/1.000.000 af et sekund)

Udløser en haptisk (lavniveau) puls på understøttede controllere.

Bemærkninger:
I øjeblikket er det kun VSC'en, som understøtter haptiske pulseringer.
Dette API-kald ignoreres for alle andre controllermodeller.
Den typiske maks. værdi til en unsigned short er 65535, hvilket betyder, at den længste haptiske puls, du kan udløse med denne metode, varer 0,065535 sekunder (dvs. mindre en 1/10 af et sekund). Denne funktion bør betragtes som en primitiv lavniveaufunktion, som kan bruges gentagne gange i højniveaubrugerfunktioner til at generere mere sofistikeret opførsel.

Eksempel:
// Pulsér én gang i 1/20 af et sekund SteamController()->TriggerHapticPulse(controller1Handle, k_ESteamControllerPad_Left, 50000);

TriggerRepeatedHapticPulse

void TriggerRepeatedHapticPulse( ControllerHandle_t controllerHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec, unsigned short usOffMicroSec, unsigned short unRepeat, unsigned int nFlags );
NavnTypeBeskrivelse
controllerHandleControllerHandle_tHandlet tilhørende controlleren, du ønsker at påvirke.
eTargetPadESteamControllerPadDen haptiske touchpad, du ønsker at påvirke.
usDurationMicroSecunsigned shortVarighed af pulseringen i mikrosekunder (1/1.000.000 af et sekund).
usOffMicroSecunsigned shortVarigheden af pausen mellem pulseringer, angivet i mikrosekunder.
unRepeatunsigned shortAntal gange, aktiv-cyklussen usDurationMicroSec / usOffMicroSec skal gentages.
nFlagsunsigned intI øjeblikket ikke anvendt og reserveret til fremtidig brug.

Udløser en gentagen haptisk puls på understøttede controllere.

Bemærkninger:
I øjeblikket er det kun VSC'en, som understøtter haptiske pulseringer.
Dette API-kald ignoreres for alle andre controllermodeller.
Dette er en mere brugervenlig funktion at kalde end TriggerHapticPulse, da den kan genere pulseringsmønstre længe nok til, at de rent faktisk bliver bemærket af brugeren.
Ændring af parametrene usDurationMicroSec og usOffMicroSec ændrer "teksturen" af den haptiske puls.

Eksempel:
// Pulsér i ét sekund i et til/fra-mønster på 1/20 af et sekund med hver pulsering SteamController()->TriggerHapticPulse(controller1Handle, k_ESteamControllerPad_Left, 50000 );

TriggerVibration

void TriggerVibration( ControllerHandle_t controllerHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed );
NavnTypeBeskrivelse
controllerHandleControllerHandle_tHandlet tilhørende controlleren, du ønsker at påvirke.
usLeftSpeedunsigned shortIntensitetsværdien for den venstre rumlemotor.
usRightSpeedunsigned shortIntensitetsværdien for den højre rumlemotor.

Udløser en vibreringshændelse på understøttede controllere.

Bemærkninger:
Dette API-kald ignoreres for inkompatible controllermodeller.
Dette genererer den traditionalle "rumle"-vibrationseffekt.
VSC'en vil emulere den traditionelle rumlen ved at bruge haptisk pulsering.

Eksempel:
SteamController()->TriggerVibration( controller1Handle, 10000, 10000 );

GetActionOriginFromXboxOrigin

EControllerActionOrigin GetActionOriginFromXboxOrigin( ControllerHandle_t controllerHandle, EXboxOrigin eOrigin );
NavnTypeBeskrivelse
controllerHandleControllerHandle_tHandlet tilhørende controlleren, du ønsker at påvirke. Du kan bruge GetControllerForGamepadIndex til at hente dette handle
eOriginEXboxOriginDette er knappen, du ønsker at hente billedet for. Eksempel: k_EXboxOrigin_A

Returværdier: EControllerActionOrigin

Henter en handlingsoprindelse, som du kan bruge i din ikonopslagstabel eller sende i GetGlyphForActionOrigin eller GetStringForActionOrigin


Eksempel:
int nXinputSlot = 1; // Erstatter, hvad end der er den korrekte Xinput-plads for din spiller ControllerHandle_t controller1Handle = GetControllerForGamepadIndex( nXinputSlot ); EControllerActionOrigin buttonOrigin = SteamController()->GetActionOriginFromXboxOrigin( controller1Handle, k_EXboxOrigin_A ); // Henter billeder fra Steam-klienten const char *localGlyphPath = SteamController()->GetGlyphForActionOrigin( buttonOrigin ); printf( "sti = %s\n", localGlyphPath ); // "sti = C:\Programmer (x86)\Steam\tenfoot\resource\images\library\controller\api\ps4_button_x.png" // En funktion fra spillet, som gør en filsti til en anvendelig spiltekstur glyphTextureID = loadButtonGlyphTextureFromLocalPath( localGlyphPath );

TranslateActionOrigin

EControllerActionOrigin TranslateActionOrigin( ESteamInputType eDestinationInputType, EControllerActionOrigin eSourceOrigin );
NavnTypeBeskrivelse
controllerHandleControllerHandle_tHandlet tilhørende controlleren, du ønsker at påvirke. Du kan bruge GetControllerForGamepadIndex til at hente dette handle
eDestinationInputTypeESteamInputTypeControllertypen, som du vil oversætte til. Steam vælger den nærmeste type fra din SDK-version, hvis k_ESteamInputType_Unknown bruges
eSourceOriginEControllerActionOriginKnappen, som du vil oversætte

Returværdier: EControllerActionOrigin

Henter den tilsvarende kilde til en bestemt controllertype eller den nærmeste controllertype i det SDK, du har indbygget i dit spil, hvis eDestinationInputType er k_ESteamInputType_Unknown. Denne handlingsoprindelse kan bruges i din ikonopslagstabel eller sendes i GetGlyphForActionOrigin eller GetStringForActionOrigin


Eksempel:
int nXinputSlot = 1; // Erstatter, hvad end der er den korrekte Xinput-plads for din spiller ControllerHandle_t controller1Handle = GetControllerForGamepadIndex( nXinputSlot ); EControllerActionOrigin buttonOrigin = SteamController()->GetActionOriginFromXboxOrigin( controller1Handle, k_EXboxOrigin_A ); //dvs. k_EControllerActionOrigin_PS4_X if ( buttonOrigin >= k_EControllerActionOrigin_Count ) { // Vi udgav vores spil uden billeder til denne handlingsoprindelse! Steam må have tilføjet understøttelse til // en ny controller. Så vi henter den nærmeste værdi, der understøttes af SDK'en, vi anvendte buttonOrigin = SteamController()->TranslateActionOrigin( k_ESteamInputType_Unknown, buttonOrigin ) } // Dette er en funktion fra selve spillet, der forsøger at få brugerdefinerede ikonbilleder. int glyphTextureID = getHardCodedButtonGlyphTexture( actionOrigin );

GetControllerBindingRevision

bool GetControllerBindingRevision( ControllerHandle_t controllerHandle, int *pMajor, int *pMinor );
NavnTypeBeskrivelse
controllerHandleControllerHandle_tHandlet tilhørende controlleren, der skal forespørges om.
pMajorint * Pointer til int, hvori den store ændring i bindingen skal udfyldes
pMinorint * Pointer til int, hvori den lille ændring i bindingen indlæses

Returværdier: bool – true, hvis der blev fundet en enhedsbinding, og false, hvis bindingen stadig er ved at blive indlæst

Henter de store og små ændringer i enhedsbindinger for Steam Input-API-konfigurationer. Mindre ændringer er til små ting som f.eks. tilføjelse af en handling til en mulighed eller opdatering af oversættelser i konfigurationen. Ved opdatering af en mindre ændring behøver kun én ny konfiguration at blive opdateret med flagsættet "Brug handlingsblokering". Store ændringer bruges, når antallet af handlingssæt ændres, eller konfigurationer ændres i en sådan grad, at ældre konfigurationer ikke længere kan bruges. Hvis en brugers binding ikke er i overensstemmelse med den store ændring i den nuværende officielle konfiguration, vil Steam tvinge brugeren til at opdatere til den nye konfiguration. Der skal konfigureres nye konfigurationer for hver controller, når den store ændring opdateres.

Eksempel på kode:
int nMinor = -1; int nMinor = -1; const int nCurrentMajorRevision = 1; const int nCurrentMinorRevision = 1; if ( GetControllerBindingRevision( controllerHandle, &nMajor, &nMinor ) ) { if ( nMinorRevision != nCurrentMinorRevision ) { // Minor-versionen er forældet, men det er o.k. // Det bliver rettet, næste gang de redigerer deres konfiguration } if ( nMajorRevision != nCurrentMajorRevision ) { // Dette bør kun ske for en kort bemærkning, mens Steam registrerer // Derefter tvangsopdateres brugeren til den seneste officielle konfiguration } } else { // Konfigurationen er ikke indlæst for denne controller endnu }

Anvendelseseksempel på spilhandlingsfil:
"In Game Actions" { "major_revision" "0" “minor_revision” “1” "actions" { ...

Structs

Disse er strukturer, som funktioner i ISteamController kan returnere og/eller interagere med.

ControllerAnalogActionData_t

Repræsenterer den aktuelle tilstand for en analog handling.

Bemærkninger:
  • De præcise værdier, rækkevidder osv. afhænger af konfigurationen, men traditionelle analoge handlinger vil (i store træk) give normaliserede flydende værdier fra ca. -1,0 til 1,0, hvorimod muselignende handlinger giver deltaopdateringer, som indikerer antallet af "pixels", som er flyttet siden sidste billede. Resultatet af dette er, at muslignende handlinger giver meget større absolutte x- og y-værdier og er i forhold til den sidst registrerede inputposition, mens traditionelle analoge handlinger er mindre og i forhold til et centralt fysisk forankringspunkt.
  • Selvom deltaen fra muselignende handlinger ligner pixeldeltaer meget, som angivet af et operativsystem, så er SC-deltaer floats og ikke ints. Dette betyder mindre potentiel kvantisering og tab af præcision, når disse data kortlægges til en kamerarotation.
  • I tilfælde af enkeltaksede analoge input (såsom analoge udløsere) vil kun x-aksen indeholde data. Y-aksen vil altid være nul.

NavnTypeBeskrivelse
eModeEControllerSourceModeDen type data, der kommer fra denne handling. Dette svarer til det, der blev angivet i handlingssættets VDF-definition.
xfloatAktuel tilstand for denne handling på den vandrette akse.
yfloatAktuel tilstand for denne handling på den lodrette akse.
bActiveboolHvorvidt denne handling er tilgængelig i øjeblikket til at blive bundet i det aktive handlingssæt. Hvis den ikke er tilgængelig ELLER ikke tilhører det aktive handlingssæt, vil dette være false.

ControllerDigitalActionData_t

Repræsenterer den aktuelle tilstand for en digital handling.

NavnTypeBeskrivelse
bStateboolDen aktuelle tilstand for denne handling: true, hvis der trykkes på handlingen i øjeblikket, ellers false.
bActiveboolHvorvidt denne handling er tilgængelig i øjeblikket til at blive bundet i det aktive handlingssæt.

ControllerMotionData_t

Repræsenterer den aktuelle tilstand for en enheds bevægelsessensor(er).

BEMÆRK: For rotQuatX/rotQuatY/rotQuatZ vil inerti-målelingsenheden på controlleren skabe en kvaternion baseret på fusion af gyro og accelerometeret. Denne værdi er den absolutte orientering af controlleren, men den vil glide på drejningsaksen.

NavnTypeBeskrivelse
rotQuatXfloatAbsolut rotation baseret på kombination af sensordata (vil glide i overskriften), x-akse
rotQuatYfloatAbsolut rotation baseret på kombination af sensordata (vil glide i overskriften), y-akse
rotQuatZfloatAbsolut rotation baseret på kombination af sensordata (vil glide i overskriften), z-akse
rotQuatWfloatAbsolut rotation baseret på kombination af sensordata (vil glide i overskriften), w-akse
posAccelXfloatPositionsacceleration, x-akse
posAccelYfloatPositionsacceleration, y-akse
posAccelZfloatPositionsacceleration, z-akse
rotVelXfloatVinkelhastighed, x-akse
rotVelYfloatVinkelhastighed, y-akse
rotVelZfloatVinkelhastighed, z-akse

Enums

Disse er optællinger, som defineres til brug med ISteamController.

EControllerActionOrigin

Input, som spilleren knytter til handlinger i Steam Input-konfiguratoren. Hovedformålet med disse værdier er at bestemme, hvilke skærmknapper der skal vises for en given handling, f.eks. "Tryk på [A] for at hoppe".

NavnVærdiBeskrivelse
k_EControllerActionOrigin_None0
k_EControllerActionOrigin_A1(Valve Steam Controller) digital forsideknap A
k_EControllerActionOrigin_B2(Valve Steam Controller) digital forsideknap B
k_EControllerActionOrigin_X3(Valve Steam Controller) digital forsideknap X
k_EControllerActionOrigin_Y4(Valve Steam Controller) digital forsideknap Y
k_EControllerActionOrigin_LeftBumper5(Valve Steam Controller) digital venstre skulderknap
k_EControllerActionOrigin_RightBumper6(Valve Steam Controller) digital højre skulderknap
k_EControllerActionOrigin_LeftGrip7(Valve Steam Controller) digitalt venstre greb
k_EControllerActionOrigin_RightGrip8(Valve Steam Controller) digitalt højre greb
k_EControllerActionOrigin_Start9(Valve Steam Controller) digital start-knap
k_EControllerActionOrigin_Back10(Valve Steam Controller) digital back-knap
k_EControllerActionOrigin_LeftPad_Touch11(Valve Steam Controller) venstre haptisk touchpad, i simpel kontakt med en finger
k_EControllerActionOrigin_LeftPad_Swipe12(Valve Steam Controller) venstre haptisk touchpad, touch-input på enhver akse
k_EControllerActionOrigin_LeftPad_Click13(Valve Steam Controller) venstre haptisk touchpad, digitalt klik (for det hele)
k_EControllerActionOrigin_LeftPad_DPadNorth14(Valve Steam Controller) venstre haptisk touchpad, digitalt klik (øvre kvadrant)
k_EControllerActionOrigin_LeftPad_DPadSouth15(Valve Steam Controller) venstre haptisk touchpad, digitalt klik (nedre kvadrant)
k_EControllerActionOrigin_LeftPad_DPadWest16(Valve Steam Controller) venstre haptisk touchpad, digitalt klik (venstre kvadrant)
k_EControllerActionOrigin_LeftPad_DPadEast17(Valve Steam Controller) venstre haptisk touchpad, digitalt klik (højre kvadrant)
k_EControllerActionOrigin_RightPad_Touch18(Valve Steam Controller) højre haptisk touchpad, i simpel kontakt med en finger
k_EControllerActionOrigin_RightPad_Swipe19(Valve Steam Controller) højre haptisk touchpad, touch-input på enhver akse
k_EControllerActionOrigin_RightPad_Click20(Valve Steam Controller) højre haptisk touchpad, digitalt klik (for det hele)
k_EControllerActionOrigin_RightPad_DPadNorth21(Valve Steam Controller) højre haptisk touchpad, digitalt klik (øvre kvadrant)
k_EControllerActionOrigin_RightPad_DPadSouth22(Valve Steam Controller) højre haptisk touchpad, digitalt klik (nedre kvadrant)
k_EControllerActionOrigin_RightPad_DPadWest23(Valve Steam Controller) højre haptisk touchpad, digitalt klik (venstre kvadrant)
k_EControllerActionOrigin_RightPad_DPadEast24(Valve Steam Controller) højre haptisk touchpad, digitalt klik (højre kvadrant)
k_EControllerActionOrigin_LeftTrigger_Pull25(Valve Steam Controller) venstre analog aftrækker, tryk med ethvert pres (analog værdi)
k_EControllerActionOrigin_LeftTrigger_Click26(Valve Steam Controller) venstre analog aftrækker, trykket helt ind (digital værdi)
k_EControllerActionOrigin_RightTrigger_Pull27(Valve Steam Controller) højre analog aftrækker, tryk med ethvert pres (analog værdi)
k_EControllerActionOrigin_RightTrigger_Click28(Valve Steam Controller) højre analog aftrækker, trykket helt ind (digital værdi)
k_EControllerActionOrigin_LeftStick_Move29(Valve Steam Controller) venstre joystick, bevægelse på enhver akse (analog værdi)
k_EControllerActionOrigin_LeftStick_Click30(Valve Steam Controller) venstre joystick, klikket ind (digital værdi)
k_EControllerActionOrigin_LeftStick_DPadNorth31(Valve Steam Controller) venstre joystick, digital bevægelse (øvre kvadrant)
k_EControllerActionOrigin_LeftStick_DPadSouth32(Valve Steam Controller) venstre joystick, digital bevægelse (nedre kvadrant)
k_EControllerActionOrigin_LeftStick_DPadWest33(Valve Steam Controller) venstre joystick, digital bevægelse (venstre kvadrant)
k_EControllerActionOrigin_LeftStick_DPadEast34(Valve Steam Controller) venstre joystick, digital bevægelse (højre kvadrant)
k_EControllerActionOrigin_Gyro_Move35(Valve Steam Controller) gyroskop, analog bevægelse på enhver akse
k_EControllerActionOrigin_Gyro_Pitch36(Valve Steam Controller) gyroskop, analog bevægelse på hældningsaksen (peg hovedet op mod loftet, peg hovedet ned mod gulvet)
k_EControllerActionOrigin_Gyro_Yaw37(Valve Steam Controller) gyroskop, analog bevægelse på drejningsaksen (drej hovedet til venstre for at se en væg, drej hovedet til højre for at se en anden væg)
k_EControllerActionOrigin_Gyro_Roll38(Valve Steam Controller) gyroskop, analog bevægelse på rulningsaksen (vip hovedet til venstre mod skulderen, vip hovedet til højre mod den anden skulder)
k_EControllerActionOrigin_PS4_X39(Sony DualShock 4) digital forsideknap X
k_EControllerActionOrigin_PS4_Circle40(Sony DualShock 4) digital forsideknap, cirkel
k_EControllerActionOrigin_PS4_Triangle41(Sony DualShock 4) digital forsideknap, trekant
k_EControllerActionOrigin_PS4_Square42(Sony DualShock 4) digital forsideknap, firkant
k_EControllerActionOrigin_PS4_LeftBumper43(Sony DualShock 4) digital venstre skulderknap
k_EControllerActionOrigin_PS4_RightBumper44(Sony DualShock 4) digital højre skulderknap
k_EControllerActionOrigin_PS4_Options45(Sony DualShock 4) digital options-knap (også kendt som "start")
k_EControllerActionOrigin_PS4_Share46(Sony DualShock 4) digital share-knap (også kendt som "back")
k_EControllerActionOrigin_PS4_LeftPad_Touch47(Sony DualShock 4) venstre halvdel af touchpaden, i simpel kontakt med en finger
k_EControllerActionOrigin_PS4_LeftPad_Swipe48(Sony DualShock 4) venstre halvdel af touchpaden, touch-input på enhver akse
k_EControllerActionOrigin_PS4_LeftPad_Click49(Sony DualShock 4) venstre halvdel af touchpaden, digitalt klik (for det hele)
k_EControllerActionOrigin_PS4_LeftPad_DPadNorth50(Sony DualShock 4) venstre halvdel af touchpaden, digitalt klik (øvre kvadrant)
k_EControllerActionOrigin_PS4_LeftPad_DPadSouth51(Sony DualShock 4) venstre halvdel af touchpaden, digitalt klik (nedre kvadrant)
k_EControllerActionOrigin_PS4_LeftPad_DPadWest52(Sony DualShock 4) venstre halvdel af touchpaden, digitalt klik (venstre kvadrant)
k_EControllerActionOrigin_PS4_LeftPad_DPadEast53(Sony DualShock 4) venstre halvdel af touchpaden, digitalt klik (højre kvadrant)
k_EControllerActionOrigin_PS4_RightPad_Touch54(Sony DualShock 4) højre halvdel af touchpaden, i simpel kontakt med en finger
k_EControllerActionOrigin_PS4_RightPad_Swipe55(Sony DualShock 4) højre halvdel af touchpaden, touch-input på enhver akse
k_EControllerActionOrigin_PS4_RightPad_Click56(Sony DualShock 4) højre halvdel af touchpaden, digitalt klik (for det hele)
k_EControllerActionOrigin_PS4_RightPad_DPadNorth57(Sony DualShock 4) højre halvdel af touchpaden, digitalt klik (øvre kvadrant)
k_EControllerActionOrigin_PS4_RightPad_DPadSouth58(Sony DualShock 4) højre halvdel af touchpaden, digitalt klik (nedre kvadrant)
k_EControllerActionOrigin_PS4_RightPad_DPadWest59(Sony DualShock 4) højre halvdel af touchpaden, digitalt klik (venstre kvadrant)
k_EControllerActionOrigin_PS4_RightPad_DPadEast60(Sony DualShock 4) højre halvdel af touchpaden, digitalt klik (højre kvadrant)
k_EControllerActionOrigin_PS4_CenterPad_Touch61(Sony DualShock 4) forenet touchpad, i simpel kontakt med en finger
k_EControllerActionOrigin_PS4_CenterPad_Swipe62(Sony DualShock 4) forenet touchpad, touch-input på enhver akse
k_EControllerActionOrigin_PS4_CenterPad_Click63(Sony DualShock 4) forenet touchpad, digitalt klik (for det hele)
k_EControllerActionOrigin_PS4_CenterPad_DPadNorth64(Sony DualShock 4) forenet touchpad, digitalt klik (øvre kvadrant)
k_EControllerActionOrigin_PS4_CenterPad_DPadSouth65(Sony DualShock 4) forenet touchpad, digitalt klik (nedre kvadrant)
k_EControllerActionOrigin_PS4_CenterPad_DPadWest66(Sony DualShock 4) forenet touchpad, digitalt klik (venstre kvadrant)
k_EControllerActionOrigin_PS4_CenterPad_DPadEast67(Sony DualShock 4) forenet touchpad, digitalt klik (højre kvadrant)
k_EControllerActionOrigin_PS4_LeftTrigger_Pull68(Sony DualShock 4) venstre analog aftrækker, tryk med ethvert pres (analog værdi)
k_EControllerActionOrigin_PS4_LeftTrigger_Click69(Sony DualShock 4) venstre analog aftrækker, trykket helt ind (digital værdi)
k_EControllerActionOrigin_PS4_RightTrigger_Pull70(Sony DualShock 4) højre analog aftrækker, tryk med ethvert pres (analog værdi)
k_EControllerActionOrigin_PS4_RightTrigger_Click71(Sony DualShock 4) højre analog aftrækker, trykket helt ind (digital værdi)
k_EControllerActionOrigin_PS4_LeftStick_Move72(Sony DualShock 4) venstre joystick, bevægelse på enhver akse (analog værdi)
k_EControllerActionOrigin_PS4_LeftStick_Click73(Sony DualShock 4) venstre joystick, klikket ind (digital værdi)
k_EControllerActionOrigin_PS4_LeftStick_DPadNorth74(Sony DualShock 4) venstre joystick, digital bevægelse (øvre kvadrant)
k_EControllerActionOrigin_PS4_LeftStick_DPadSouth75(Sony DualShock 4) venstre joystick, digital bevægelse (nedre kvadrant)
k_EControllerActionOrigin_PS4_LeftStick_DPadWest76(Sony DualShock 4) venstre joystick, digital bevægelse (venstre kvadrant)
k_EControllerActionOrigin_PS4_LeftStick_DPadEast77(Sony DualShock 4) venstre joystick, digital bevægelse (højre kvadrant)
k_EControllerActionOrigin_PS4_RightStick_Move78(Sony DualShock 4) højre joystick, bevægelse på enhver akse (analog værdi)
k_EControllerActionOrigin_PS4_RightStick_Click79(Sony DualShock 4) højre joystick, klikket ind (digital værdi)
k_EControllerActionOrigin_PS4_RightStick_DPadNorth80(Sony DualShock 4) højre joystick, digital bevægelse (øvre kvadrant)
k_EControllerActionOrigin_PS4_RightStick_DPadSouth81(Sony DualShock 4) højre joystick, digital bevægelse (nedre kvadrant)
k_EControllerActionOrigin_PS4_RightStick_DPadWest82(Sony DualShock 4) højre joystick, digital bevægelse (venstre kvadrant)
k_EControllerActionOrigin_PS4_RightStick_DPadEast83(Sony DualShock 4) højre joystick, digital bevægelse (højre kvadrant)
k_EControllerActionOrigin_PS4_DPad_North84(Sony DualShock 4) digital pad, trykket (øvre kvadrant)
k_EControllerActionOrigin_PS4_DPad_South85(Sony DualShock 4) digital pad, trykket (nedre kvadrant)
k_EControllerActionOrigin_PS4_DPad_West86(Sony DualShock 4) digital pad, trykket (venstre kvadrant)
k_EControllerActionOrigin_PS4_DPad_East87(Sony DualShock 4) digital pad, trykket (højre kvadrant)
k_EControllerActionOrigin_PS4_Gyro_Move88(Sony DualShock 4) gyroskop, analog bevægelse på enhver akse
k_EControllerActionOrigin_PS4_Gyro_Pitch89(Sony DualShock 4) gyroskop, analog bevægelse på hældningsaksen (peg hovedet op mod loftet, peg hovedet ned mod gulvet)
k_EControllerActionOrigin_PS4_Gyro_Yaw90(Sony DualShock 4) gyroskop, analog bevægelse på drejningsaksen (drej hovedet til venstre for at se mod den ene væg, drej hovedet til højre for at se mod den anden væg)
k_EControllerActionOrigin_PS4_Gyro_Roll91(Sony DualShock 4) gyroskop, analog bevægelse på rulningsaksen (vip hovedet til venstre mod skulderen, vip hovedet til højre mod den anden skulder)
k_EControllerActionOrigin_XBoxOne_A92(XB1) digital forsideknap A
k_EControllerActionOrigin_XBoxOne_B93(XB1) digital forsideknap B
k_EControllerActionOrigin_XBoxOne_X94(XB1) digital forsideknap X
k_EControllerActionOrigin_XBoxOne_Y95(XB1) digital forsideknap Y
k_EControllerActionOrigin_XBoxOne_LeftBumper96(XB1) digital venstre skulderknap
k_EControllerActionOrigin_XBoxOne_RightBumper97(XB1) digital højre skulderknap
k_EControllerActionOrigin_XBoxOne_Menu98(XB1) digital menu-knap (også kendt som "start")
k_EControllerActionOrigin_XBoxOne_View99(XB1) digital visningsknap (også kendt som "back")
k_EControllerActionOrigin_XBoxOne_LeftTrigger_Pull100(XB1) venstre analog aftrækker, tryk med ethvert pres (analog værdi)
k_EControllerActionOrigin_XBoxOne_LeftTrigger_Click101(XB1) venstre analog aftrækker, trykket helt ind (digital værdi)
k_EControllerActionOrigin_XBoxOne_RightTrigger_Pull102(XB1) højre analog aftrækker, tryk med ethvert pres (analog værdi)
k_EControllerActionOrigin_XBoxOne_RightTrigger_Click103(XB1) højre analog aftrækker, trykket helt ind (digital værdi)
k_EControllerActionOrigin_XBoxOne_LeftStick_Move104(XB1) venstre joystick, bevægelse på enhver akse (analog værdi)
k_EControllerActionOrigin_XBoxOne_LeftStick_Click105(XB1) venstre joystick, klikket ind (digital værdi)
k_EControllerActionOrigin_XBoxOne_LeftStick_DPadNorth106(XB1) venstre joystick, digital bevægelse (øvre kvadrant)
k_EControllerActionOrigin_XBoxOne_LeftStick_DPadSouth107(XB1) venstre joystick, digital bevægelse (nedre kvadrant)
k_EControllerActionOrigin_XBoxOne_LeftStick_DPadWest108(XB1) venstre joystick, digital bevægelse (venstre kvadrant)
k_EControllerActionOrigin_XBoxOne_LeftStick_DPadEast109(XB1) venstre joystick, digital bevægelse (højre kvadrant)
k_EControllerActionOrigin_XBoxOne_RightStick_Move110(XB1) højre joystick, bevægelse på enhver akse (analog værdi)
k_EControllerActionOrigin_XBoxOne_RightStick_Click111(XB1) højre joystick, klikket ind (digital værdi)
k_EControllerActionOrigin_XBoxOne_RightStick_DPadNorth112(XB1) højre joystick, digital bevægelse (øvre kvadrant)
k_EControllerActionOrigin_XBoxOne_RightStick_DPadSouth113(XB1) højre joystick, digital bevægelse (nedre kvadrant)
k_EControllerActionOrigin_XBoxOne_RightStick_DPadWest114(XB1) højre joystick, digital bevægelse (venstre kvadrant)
k_EControllerActionOrigin_XBoxOne_RightStick_DPadEast115(XB1) højre joystick, digital bevægelse (højre kvadrant)
k_EControllerActionOrigin_XBoxOne_DPad_North116(XB1) digital pad, trykket (øvre kvadrant)
k_EControllerActionOrigin_XBoxOne_DPad_South117(XB1) digital pad, trykket (nedre kvadrant)
k_EControllerActionOrigin_XBoxOne_DPad_West118(XB1) digital pad, trykket (venstre kvadrant)
k_EControllerActionOrigin_XBoxOne_DPad_East119(XB1) digital pad, trykket (højre kvadrant)
k_EControllerActionOrigin_XBox360_A120(X360) digital forsideknap A
k_EControllerActionOrigin_XBox360_B121(X360) digital forsideknap B
k_EControllerActionOrigin_XBox360_X122(X360) digital forsideknap X
k_EControllerActionOrigin_XBox360_Y123(X360) digital forsideknap Y
k_EControllerActionOrigin_XBox360_LeftBumper124(X360) digital venstre skulderknap
k_EControllerActionOrigin_XBox360_RightBumper125(X360) digital højre skulderknap
k_EControllerActionOrigin_XBox360_Start126(X360) digital start-knap
k_EControllerActionOrigin_XBox360_Back127(X360) digital back-knap
k_EControllerActionOrigin_XBox360_LeftTrigger_Pull128(X360) venstre analog aftrækker, tryk med ethvert pres (analog værdi)
k_EControllerActionOrigin_XBox360_LeftTrigger_Click129(X360) venstre analog aftrækker, trykket helt ind (digital værdi)
k_EControllerActionOrigin_XBox360_RightTrigger_Pull130(X360) højre analog aftrækker, tryk med ethvert pres (analog værdi)
k_EControllerActionOrigin_XBox360_RightTrigger_Click131(X360) højre analog aftrækker, trykket helt ind (digital værdi)
k_EControllerActionOrigin_XBox360_LeftStick_Move132(X360) venstre joystick, bevægelse på enhver akse (analog værdi)
k_EControllerActionOrigin_XBox360_LeftStick_Click133(X360) venstre joystick, klikket ind (digital værdi)
k_EControllerActionOrigin_XBox360_LeftStick_DPadNorth134(X360) venstre joystick, digital bevægelse (øvre kvadrant)
k_EControllerActionOrigin_XBox360_LeftStick_DPadSouth135(X360) venstre joystick, digital bevægelse (nedre kvadrant)
k_EControllerActionOrigin_XBox360_LeftStick_DPadWest136(X360) venstre joystick, digital bevægelse (venstre kvadrant)
k_EControllerActionOrigin_XBox360_LeftStick_DPadEast137(X360) venstre joystick, digital bevægelse (højre kvadrant)
k_EControllerActionOrigin_XBox360_RightStick_Move138(X360) højre joystick, bevægelse på enhver akse (analog værdi)
k_EControllerActionOrigin_XBox360_RightStick_Click139(X360) højre joystick, klikket ind (digital værdi)
k_EControllerActionOrigin_XBox360_RightStick_DPadNorth140(X360) højre joystick, digital bevægelse (øvre kvadrant)
k_EControllerActionOrigin_XBox360_RightStick_DPadSouth141(X360) højre joystick, digital bevægelse (nedre kvadrant)
k_EControllerActionOrigin_XBox360_RightStick_DPadWest142(X360) højre joystick, digital bevægelse (venstre kvadrant)
k_EControllerActionOrigin_XBox360_RightStick_DPadEast143(X360) højre joystick, digital bevægelse (højre kvadrant)
k_EControllerActionOrigin_XBox360_DPad_North144(X360) digital pad, trykket (øvre kvadrant)
k_EControllerActionOrigin_XBox360_DPad_South145(X360) digital pad, trykket (nedre kvadrant)
k_EControllerActionOrigin_XBox360_DPad_West146(X360) digital pad, trykket (venstre kvadrant)
k_EControllerActionOrigin_XBox360_DPad_East147(X360) digital pad, trykket (højre kvadrant)
k_EControllerActionOrigin_Count196Antallet af værdier i denne optælling, nyttig til iteration.

EControllerSource

En del af controlleren, som kan anskues som en større abstrakt modulenhed, som en af mange tilstande kan anvendes på, og som kan sende meningsfulde data retur. For eksempel kan et joystick blive behandlet som enten et enkelt analogt input eller opdelt i fire diskrete digitale enheder, som danner en virtuel retningsknap (DPAD). På tilsvarende måde former ABXY-forsideknapperne en neutral gruppe, som kan behandles som fire uafhængige knapper eller som komponenter af en virtuel retningsknap (DPAD) osv.

NavnVærdiBeskrivelse
k_EControllerSource_None0Ingen controllerkilde.
k_EControllerSource_LeftTrackpad1Den venstre touchpad eller den venstre halvdel af en central touchpad.
k_EControllerSource_RightTrackpad2Den højre touchpad eller den højre halvdel af en central touchpad.
k_EControllerSource_Joystick3Joysticket – eller det venstre joystick, hvis der er mere end ét joystick.
k_EControllerSource_ABXY4De fire primære forsideknapper.
k_EControllerSource_Switch5Knapper på controlleren, som ikke tilhører nogen anden specifik kilde. Dette inkluderer skulderknapper, start/select og greb. Dette særlige tilfælde passer ikke ind i det større paradigme og får dermed deres egen kilde af digitale knapper og en tilsvarende tilstand, der behandler dem.
k_EControllerSource_LeftTrigger6Den venstre analoge aftrækker.
k_EControllerSource_RightTrigger7Den højre analoge aftrækker.
k_EControllerSource_Gyro8Det interne gyroskop.
k_EControllerSource_CenterTrackpad9Den centrale touchpad. (Kun DS4)
k_EControllerSource_RightJoystick10Det højre joystick. Hvis der kun er ét joystick, bruges denne kilde ikke.
k_EControllerSource_DPad11Den digitale pad.
k_EControllerSource_Key12Tast på tastatur (for tastatur med skanningskoder).
k_EControllerSource_Mouse13Traditionel mus
k_EControllerSource_Count14Antallet af optællinger, nyttig til iteration.

EControllerSourceMode

Den virtuelle inputtilstand pålagt af konfiguratoren efter en controllerkilde. For eksempel kan konfiguratoren få et analogt joystick til at opføre sig som en Dpad (retningsknap) med fire digitale input: EControllerSource ville være k_EControllerSource_Joystick, og EControllerSourceMode ville være k_EControllerSourceMode_Dpad. Denne tilstand ændrer også inputdataene, som modtages af alle tilknyttede handlinger.

NavnVærdiBeskrivelse
k_EControllerSourceMode_None0Ingen inputtilstand.
k_EControllerSourceMode_Dpad1En digital pad: Fire digitale retningsknapper kombineret i et krydsmønster, så der kun kan trykkes på én knap fra hver akse på et givent tidspunkt.
k_EControllerSourceMode_Buttons2
k_EControllerSourceMode_FourButtons3Fire digitale forsideknapper, hvor der kan trykkes på dem alle samtidigt
k_EControllerSourceMode_AbsoluteMouse4
k_EControllerSourceMode_RelativeMouse5
k_EControllerSourceMode_JoystickMove6
k_EControllerSourceMode_JoystickMouse7
k_EControllerSourceMode_JoystickCamera8
k_EControllerSourceMode_ScrollWheel9
k_EControllerSourceMode_Trigger10
k_EControllerSourceMode_TouchMenu11
k_EControllerSourceMode_MouseJoystick12
k_EControllerSourceMode_MouseRegion13
k_EControllerSourceMode_RadialMenu14
k_EControllerSourceMode_SingleButton15
k_EControllerSourceMode_Switches16

ESteamControllerLEDFlag

Styrer farven på en Steam Controller-enheds LED (hvis enheden rent faktisk har en).

Bemærkninger:
VSC'en har en LED, men dette vil kun påvirke lysstyrken (farven vil altid være hvid).
DS4'ens LED er en lysbjælke, hvis farve og lysstyrke begge kan konfigureres.

NavnVærdiBeskrivelse
k_ESteamControllerLEDFlag_SetColor0Indstiller farven til de angivne værdier
k_ESteamControllerLEDFlag_RestoreUserDefault1Gendanner farven til standardindstillingerne (uden for spillet)

ESteamInputType

Repræsenterer enhedsmodellen for et givent stykke hardware.

NavnVærdiBeskrivelse
k_ESteamInputType_Unknown0Catch-all for enheder, som ikke genkendes
k_ESteamInputType_SteamController1Valves Steam Controller
k_ESteamInputType_XBox360Controller2Microsofts Xbox 360-controller
k_ESteamInputType_XBoxOneController3Microsofts Xbox One-controller
k_ESteamInputType_GenericXInput4Enhver generisk Xinput-enhed fra tredjepart
k_ESteamInputType_PS4Controller5Sonys PlayStation 4 Controller
k_ESteamInputType_AppleMFiController6Ubrugt
k_ESteamInputType_AndroidController7Ubrugt
k_ESteamInputType_SwitchJoyConPair8Ubrugt
k_ESteamInputType_SwitchJoyConSingle9Ubrugt
k_ESteamInputType_SwitchProController10Nintendo Switch Pro-controller
k_ESteamInputType_MobileTouch11Steam Link Mobile Touch-controller
k_ESteamInputType_PS3Controller12Sonys PlayStation 3-controller eller PS3-/PS4-kompatibel fightstick
k_ESteamInputType_Count13Aktuelt antal returnerede værdier
k_ESteamInputType_MaximumPossibleValue255Maks. mulige returnerede værdi

ESteamControllerPad

En touchpadregion på en Steam Controller-enhed.

Bemærkninger:
På VSC'en korresponderer værdien til de venstre og højre haptiske touchpads.
På DS4'en korresponderer værdien til de venstre og højre halvdele af en enkelt, central touchpad.

NavnVærdiBeskrivelse
k_ESteamControllerPad_Left0Den venstre touchpadregion på en Steam Controller-enhed. Kompatible modeller: VSC, DS4
k_ESteamControllerPad_Right1Den højre region på en Steam Controller-enhed. Kompatible modeller: VSC, DS4

Typedefs

Disse er typedefinitioner, som defineres til brug med ISteamController.

NavnBasistypeBeskrivelse
ControllerActionSetHandle_tuint64Disse handles bruges til at henvise til en specifik handling eller et specifikt handlingssæt i spil
Alle handlings-handles bør forespørges under opstart af hensyn til ydeevnen
ControllerAnalogActionHandle_tuint64Et handle til en analog handling. Dette kan hentes fra GetAnalogActionHandle.
ControllerDigitalActionHandle_tuint64Et handle til en digital handling. Dette kan hentes fra GetDigitalActionHandle.
ControllerHandle_tuint64Dette handle vil konstant identificere en controller, selv hvis den afbrydes og tilsluttes igen

Konstanter

Det følgende er konstanter, som defineres til brug med ISteamController.

NavnTypeVærdiBeskrivelse
STEAMCONTROLLER_INTERFACE_VERSIONconst char *"SteamController007"
STEAM_CONTROLLER_HANDLE_ALL_CONTROLLERSintUINT64_MAXNår der sendes en mulighed til et specifikt controller-handle, kan du bruge denne særlige værdi i stedet for et handle for at sende valgmuligheden til alle controllere.
STEAM_CONTROLLER_MAX_ANALOG_ACTIONSint16Det maksimale antal af analoge handlinger, som kan udføres på hver controller.
STEAM_CONTROLLER_MAX_ANALOG_ACTION_DATAfloat1.0fDen maksimale værdi, som kan rapporteres af en analog handling på enhver given akse.
STEAM_CONTROLLER_MAX_COUNTint16Det maksimale antal af controllere, som kan bruges samtidigt med Steam Input-konfiguratoren.
STEAM_CONTROLLER_MAX_DIGITAL_ACTIONSint128Det maksimale antal af digitale handlinger, som kan udføres på hver controller.
STEAM_CONTROLLER_MAX_ORIGINSint8Det maksimale antal af inputkilder, som kan tilknyttes en enkelt handling.
STEAM_CONTROLLER_MIN_ANALOG_ACTION_DATAfloat-1.0fDen minimale værdi, som kan rapporteres af en analog handling på enhver given akse.