Steam Controller -ohjaimen tuen ohjelmointirajapinta.
Tämä ohjelmointirajapinta on vanhentunut, uudempi on ISteamInput. Lisätietoja siitä löytyy
ISteamInput-käyttöliittymä-dokumentaatiosta.
Lisätietoja löytyy
Steam-syöte-dokumentaatiosta.
Jäsenfunktiot
ISteamController
-käyttöliittymän jäsenfunktioita kutsutaan globaalilla
SteamController()
-aksessorifunktiolla.
ActivateActionSet
void ActivateActionSet( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle );
Uudelleenmäärittää ohjaimen käyttämään määritettyä toimintosarjaa (esimerkiksi "valikko", "kävele" tai "aja").
Tämä vie vähän resursseja, ja sitä voidaan turvallisesti kutsua toistuvasti. On usein helpompaa kutsua sitä tilan silmukoista kuin yrittää sijoittaa se kaikkiin tilasiirtymiin.
Esimerkki: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;
}
}
Aktivoi kaikki ohjaimet
Ohjaimet kannattaa usein aktivoida kerralla, eikä yksittäin. Ohjaimen kahvana tulisi käyttää tässä
STEAM_CONTROLLER_HANDLE_ALL_CONTROLLERS-vakiota. Voit käyttää tätä arvoa myös missä tahansa funktiossa, joka vaatii yksittäisen ohjaimen kahvan.
Esimerkki: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 );
Uudelleenmäärittää ohjaimen käyttämään tiettyä toimintosarjan kerrosta.
Toimintosarjan kerrokset -dokumentaatiossa on lisätietoja sekä yksityiskohtainen käytännön esimerkki.
Esimerkki:SteamController()->ActivateActionSetLayer( controllerHandle1, myActionSetLayer );
DeactivateActionSetLayer
void DeactivateActionSetLayer( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetLayerHandle );
Nimi | Tyyppi | Kuvaus |
controllerHandle | ControllerHandle_t | Ohjaimen kahva, jolta haluat poistaa toimintosarjan kerroksen aktivoinnin. |
actionSetHandle | ControllerActionSetHandle_t | Toimintosarjan kerroksen kahva, jonka aktivoinnin haluat poistaa. |
Uudelleenmäärittää ohjaimen, jotta se lopettaa määritetyn toimintosarjan kerroksen käyttämisen.
Esimerkki:SteamController()->DeactivateActionSetLayer( controllerHandle1, myActionSetLayer );
DeactivateAllActionSetLayers
void DeactivateAllActionSetLayers( ControllerHandle_t controllerHandle );
Nimi | Tyyppi | Kuvaus |
controllerHandle | ControllerHandle_t | Ohjaimen kahva, josta haluat poistaa kaikki toimintosarjan kerrosten aktivoinnit. |
Uudelleenmäärittää ohjaimen, jotta se lopettaa kaikkien toimintosarjan kerrosten käyttämisen.
Esimerkki:SteamController()->DeactivateAllActionSetLayers( controllerHandle1 );
GetActiveActionSetLayers
int GetActiveActionSetLayers( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t *handlesOut );
Täyttää taulukon määritetyn ohjaimen kahvalle kaikilla tällä hetkellä aktiivisilla toimintosarjan kerroksilla.
Esimerkki:ControllerHandle_t *handlesOut = new ControllerHandle_t [];
SteamController()->GetActiveActionSetLayers( controllerHandle1, &handlesOut );
GetActionSetHandle
ControllerActionSetHandle_t GetActionSetHandle( const char *pszActionSetName );
Nimi | Tyyppi | Kuvaus |
pszActionSetName | const char * | Pelin VDF-tiedostossa määritetyn toimintosarjan merkkijonotunniste. |
Hakee toimintosarjan kahvan. Tämä on parasta tehdä käynnistyksen yhteydessä ja tallentaa kahvat tulevia ohjelmointirajapinnan kutsuja varten.
Paluuarvot: ControllerActionSetHandle_tMääritetyn toimintosarjan kahva.
Esimerkki:ControllerActionSetHandle_t fightingSetHandle = SteamController()->GetActionSetHandle( "fighting" );
GetAnalogActionData
ControllerAnalogActionData_t GetAnalogActionData( ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t analogActionHandle );
Palauttaa annetun analogisen pelitoiminnon nykytilan.
Paluuarvot: ControllerAnalogActionData_tMääritetyn analogisen toiminnon nykytila.
Esimerkki:ControllerAnalogActionData_t data = SteamController()->GetAnalogActionData( controller1Handle, moveHandle );
GetAnalogActionHandle
ControllerAnalogActionHandle_t GetAnalogActionHandle( const char *pszActionName );
Nimi | Tyyppi | Kuvaus |
pszActionName | const char * | Pelin VDF-tiedostossa määritetyn analogisen toiminnon merkkijonotunniste. |
Hakee määritetyn analogisen toiminnon kahvan.
HUOMAA! Tämä funktio ei hyväksy toimintosarjan kahvan parametriä. Eli jokaisella VDF-tiedoston toiminnolla täytyy olla yksilöity merkkijonotunniste. Toisin sanoen, jos käytät "up"-nimistä toimintoa kahdessa eri toimintosarjassa, funktio palauttaa aina vain yhden niistä ja jättää toisen huomiotta.
Paluuarvot: ControllerAnalogActionHandle_tMääritetyn analogisen toiminnon nykytila.
Esimerkki:ControllerAnalogActionHandle_t moveHandle = SteamController()->GetAnalogActionHandle( "move" );
GetAnalogActionOrigins
int GetAnalogActionOrigins( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle, ControllerAnalogActionHandle_t analogActionHandle, EControllerActionOrigin *originsOut );
Hakee toimintosarjassa olevan analogisen toiminnon lähteen/lähteet täyttämällä originsOut-parametrin EControllerActionOrigin-kahvoilla. Käytä tätä toimintoon liittyvän näyttökehotteen näyttämiseen.
Paluuarvot: int
originsOut
-parametrissä välitettyjen lähteiden määrä.
Esimerkki:EControllerActionOrigin *origins = new EControllerActionOrigin[];
SteamController()->GetAnalogActionOrigins( controller1Handle, walkingSetHandle, moveHandle, origins );
GetConnectedControllers
int GetConnectedControllers( ControllerHandle_t *handlesOut );
Luetteloi tällä hetkellä kytketyt ohjaimet täyttämällä handlesOut-parametrin ohjaimen kahvoilla.
Paluuarvot: int
handlesOut
-parametriin kirjoitettujen kahvojen määrä.
Esimerkki:ControllerHandle_t *controllerHandles = new ControllerHandle_t[];
SteamController()->GetConnectedControllers( controllerHandles );
GetControllerForGamepadIndex
ControllerHandle_t GetControllerForGamepadIndex( int nIndex );
Nimi | Tyyppi | Kuvaus |
nIndex | int | Emuloidun peliohjaimen indeksi, jolle haluat hakea ohjaimen kahvan. |
Palauttaa määritettyyn emuloituun peliohjaimeen liitetyn ohjaimen kahvan. Voidaan käyttäää GetInputTypeForHandle-jäsenfunktion kanssa päättelemään Steam-syötteen peliohjainemulaatiota käyttävän ohjaimen tyyppi.
Paluuarvot: ControllerHandle_tEsimerkki:// Korvaa kysymäsi Xinput-paikka. Numero on välillä 0–3.
int nXinputSlotIndex = 0;
ControllerHandle_t controllerHandle = SteamController()->GetControllerForGamepadIndex( nXinputSlotIndex );
if ( controllerHandle == 0 )
{
// Käyvät syötteen kahvat eivät ole nolla, tämä on normaali Xbox-ohjain.
}
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 );
Nimi | Tyyppi | Kuvaus |
controllerHandle | ControllerHandle_t | Ohjaimen kahva, johon haluat suorittaa kyselyn. |
Hakee määritetyn ohjaimen tällä hetkellä aktiivisen toimintosarjan.
Paluuarvot: ControllerActionSetHandle_tMääritetyn ohjaimen aktivoidun toimintosarjan kahva.
Esimerkki:ControllerActionSetHandle_t controller1Set = SteamController()->GetCurrentActionSet(controller1Handle);
GetDigitalActionData
ControllerDigitalActionData_t GetDigitalActionData( ControllerHandle_t controllerHandle, ControllerDigitalActionHandle_t digitalActionHandle );
Palauttaa annetun digitaalisen pelitoiminnon nykytilan.
Paluuarvot: ControllerDigitalActionData_tMääritetyn digitaalisen toiminnon nykytila.
GetDigitalActionHandle
ControllerDigitalActionHandle_t GetDigitalActionHandle( const char *pszActionName );
Nimi | Tyyppi | Kuvaus |
pszActionName | const char * | Pelin VDF-tiedostossa määritetyn digitaalisen toiminnon merkkijonotunniste. |
Hakee määritetyn digitaalisen toiminnon kahvan.
HUOMAA! Tämä funktio ei hyväksy toimintosarjan kahvan parametriä. Eli jokaisella VDF-tiedoston toiminnolla täytyy olla yksilöity merkkijonotunniste. Toisin sanoen, jos käytät "up"-nimistä toimintoa kahdessa eri toimintosarjassa, funktio palauttaa aina vain yhden niistä ja jättää toisen huomiotta.
Paluuarvot: ControllerDigitalActionHandle_tMääritetyn digitaalisen toiminnon kahva0>.
Esimerkki:ControllerDigitalActionHandle_t punchHandle = SteamController()->GetDigitalActionHandle( "punch" );
GetDigitalActionOrigins
int GetDigitalActionOrigins( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle, ControllerDigitalActionHandle_t digitalActionHandle, EControllerActionOrigin *originsOut );
Hakee toimintosarjassa olevan digitaalisen toiminnon lähteen/lähteet täyttämällä
originsOut
-parametrin
EControllerActionOrigin-kahvoilla. Käytä tätä toimintoon liittyvän näyttökehotteen näyttämiseen.
Paluuarvot: int
originsOut
-parametrissä välitettyjen lähteiden määrä.
Esimerkki:EControllerActionOrigin *origins = new EControllerActionOrigin[];
SteamController()->GetDigitalActionOrigins( controller1Handle, fightingSetHandle, punchHandle, origins );
GetGamepadIndexForController
int GetGamepadIndexForController( ControllerHandle_t ulControllerHandle );
Nimi | Tyyppi | Kuvaus |
ulControllerHandle | ControllerHandle_t | Ohjaimen kahva, jonka peliohjaimen indeksi halutaan hakea. |
Palauttaa määritettyyn ohjaimeen liitetyn peliohjaimen indeksin, jos peliohjain emuloidaan.
Paluuarvot: int
Esimerkki:int gamepadIndex = SteamController()->GetGamepadIndexForController( controller1Handle );
GetGlyphForActionOrigin
const char * GetGlyphForActionOrigin( EControllerActionOrigin eOrigin );
Hakee näytöllä olevan merkin kuvan paikallisen polun tietylle lähteelle.
Paluuarvot: const char *
Merkin .png-tiedoston polku.
Esim.
"C:\Program Files (x86)\Steam\tenfoot\resource\images\library\controller\api\ps4_button_x.png"
Esimerkki:// Hakee lähteet "punch"-toiminnolle.
EControllerActionOrigin *origins = new EControllerActionOrigin[];
SteamController()->GetDigitalActionOrigins( controller1Handle, fightingSetHandle, punchHandle, origins );
EControllerActionOrigin firstOrigin = origins[0]; //Eli k_EControllerActionOrigin_PS4_X
// Tämä on pelin funktio, joka yrittää hakea merkin mukautetun kuvan.
int glyphTextureID = getHardCodedButtonGlyphTexture( firstOrigin );
// Emme julkaisseet pelissä kuvaa tälle lähteelle. Steam on ilmeisesti lisännyt tuen
//uudelle ohjaimelle tai me unohdimme lisätä tämän kuvan.
//(Eli meillä on vain Steam Controllerin merkit, mutta tämä on PlayStation 4 -ohjain).
if( glyphTextureID == -1 )
{
// Hae sen sijaan vaan kuva Steam-asiakasohjelmasta.
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"
//Pelin funktio, joka kääntää tiedostopolun käytettäväksi pelitekstuuriksi.
glyphTextureID = loadButtonGlyphTextureFromLocalPath( localGlyphPath );
}
GetInputTypeForHandle
ESteamInputType GetInputTypeForHandle( ControllerHandle_t controllerHandle );
Nimi | Tyyppi | Kuvaus |
controllerHandle | ControllerHandle_t | Ohjaimen kahva, jonka syötetyypin (laitemallin) haluat kysyä. |
Palauttaa määritetyn ohjaimen syötetyypin (laitemallin). Tämä kertoo, onko ohjain Steam Controller-, Xbox 360- tai PS4-ohjain vai joku muu. Lisätietoa löytyy Steamin
tuettujen ohjainten tietokannasta.
Paluuarvot: ESteamInputTypeEsimerkki: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 );
Nimi | Tyyppi | Kuvaus |
controllerHandle | ControllerHandle_t | Ohjaimen kahva, jonka liikedata halutaan hakea. |
Palauttaa määritetyn ohjaimen liikkeen raakadatan.
Paluuarvot: ControllerMotionData_tEsimerkki:ControllerMotionData_t motionData = SteamController()->GetControllerMotionData( controllerHandle );
GetStringForActionOrigin
const char * GetStringForActionOrigin( EControllerActionOrigin eOrigin );
Palauttaa määritetyn lähteen lokalisoidun merkkijonon (Steamin kieliasetuksista).
Paluuarvot: const char *
Esimerkki: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();
Pitää kutsua, kun
ISteamController-käyttöliittymän käyttö aloitetaan.
Paluuarvot: bool
Palauttaa aina arvon
true.
Esimerkki:SteamController()->Init();
RunFrame
void RunFrame();
Synkronoi ohjelmointirajapinnan tilan viimeisimmillä saatavilla olevilla Steam Controller -syötteillä. Tämä suoritetaan automaattisesti SteamAPI_RunCallbacks-funktion toimesta, mutta pienimmän mahdollisen vasteajan saamiseksi voit kutsua tätä suoraan ennen ohjaimen tilan lukemista.
Esimerkki:SteamController()->RunFrame();
SetLEDColor
void SetLEDColor( ControllerHandle_t controllerHandle, uint8 nColorR, uint8 nColorG, uint8 nColorB, unsigned int nFlags );
Nimi | Tyyppi | Kuvaus |
controllerHandle | ControllerHandle_t | Ohjaimen kahva, johon haluat vaikuttaa. |
nColorR | uint8 | Värin punaisen komponentin määritys (0–255). |
nColorG | uint8 | Värin vihreän komponentin määritys (0–255). |
nColorB | uint8 | Värin sinisen komponentin määritys (0–255). |
nFlags | unsigned int | Bittipeitetyt liput yhdistettyinä ESteamControllerLEDFlag-jäsenfunktiossa määritettyihin arvoihin. |
Asettaa ohjaimen LED-valon värin tuetuille ohjaimille.
Huomaa:Steam Controller tukee ainoastaan valkoista väriä ja tulkitsee RGB-arvot harmaasävyn arvoiksi, jotka vaikuttavat Steam-painikkeen LED-valon kirkkauteen.
DualShock 4 reagoi kaikkeen väritietoon ja käyttää arvoja valopalkin värin ja kirkkauden määrittämiseen.
Esimerkki:// Palauta ohjaimen 1 käyttäjän oletusväri:
SteamController()->SetLEDColor( controller1Handle, 0, 0, 0, k_ESteamControllerLEDFlag_RestoreUserDefault );
// Aseta ohjaimen 2 väri magentaksi:
SteamController()->SetLEDColor( controller2Handle, 255, 0, 255, k_ESteamControllerLEDFlag_SetColor );
ShowAnalogActionOrigins
bool ShowAnalogActionOrigins( ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t analogActionHandle, float flScale, float flXPosition, float flYPosition );
Vanhentunut.
Paluuarvot: bool
Palauttaa aina arvon
true.
ShowBindingPanel
bool ShowBindingPanel( ControllerHandle_t controllerHandle );
Nimi | Tyyppi | Kuvaus |
controllerHandle | ControllerHandle_t | Ohjaimen kahva, jolle haluat tuoda määritysnäytön esiin. |
Avaa Steam-yhteisönäkymän ja tuo määritysnäytön esiin.
Paluuarvot: bool
true kun onnistui;
false, jos yhteisönäkymä on otettu pois päältä, se ei ole saatavilla tai käyttäjä ei ole Televisiotilassa.
Esimerkki:SteamController()->ShowBindingPanel( myControllerHandle );
ShowDigitalActionOrigins
bool ShowDigitalActionOrigins( ControllerHandle_t controllerHandle, ControllerDigitalActionHandle_t digitalActionHandle, float flScale, float flXPosition, float flYPosition );
Vanhentunut.
Paluuarvot: bool
Palauttaa aina arvon
true.
Sammutus
bool Shutdown();
Täytyy kutsua, kun
ISteamController-käyttöliittymän käyttö lopetetaan.
Paluuarvot: bool
Palauttaa aina arvon
true.
Esimerkki:SteamController()->Shutdown();
StopAnalogActionMomentum
void StopAnalogActionMomentum( ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t eAction );
Pysäyttää analogisen toiminnon liikkeen (kun saatavilla, esim. kosketuslevy, jossa on virtuaalisen pallohiiren asetukset).
HUOMAA!Tämä pysäyttää myös kaikki siihen liittyvät haptiset toiminnot. Tämä on hyödyllinen sellaisissa tilanteissa, joissa haluat ilmaista käyttäjälle, että toiminnon raja on saavutettu, esimerkiksi karusellin pyörittämisessä tai verkkosivun vierittämisessä.
Esimerkki:SteamController()->StopAnalogActionMomentum( controller1Handle, moveHandle );
TriggerHapticPulse
void TriggerHapticPulse( ControllerHandle_t controllerHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec );
Nimi | Tyyppi | Kuvaus |
controllerHandle | ControllerHandle_t | Ohjaimen kahva, johon haluat vaikuttaa. |
eTargetPad | ESteamControllerPad | Mihin haptiseen kosketuslevyyn vaikutetaan. |
usDurationMicroSec | unsigned short | Sykäyksen kesto mikrosekunneissa (sekunnin miljoonasosa). |
Aiheuttaa (matalan tason) toistuvan haptisen sykäyksen tuetuilla ohjaimilla.
Huomaa:Tällä hetkellä vain Steam Controller tukee haptista sykäystä.
Kaikki muut ohjaimet jättävät tämän ohjelmointirajapinnan kutsun huomiotta.
Tyypillinen unsigned short -datatyypin enimmäisarvo on 65535, joka tarkoittaa, että pisimmän tällä metodilla käynnistettävän haptisen sykäyksen kesto on 0,065535 sekuntia (eli alle sekunnin kymmenesosa). Tämä funktio tulisi nähdä alemman tason alkeistyyppinä, joka on tarkoitettu käytettäväksi toistuvasti käyttäjän korkeamman tason toimintoihin luomaan kehittyneempiä toimintoja.
Esimerkki://Sykäys kerran, kestää sekunnin kahdeskymmenesosan.
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 );
Nimi | Tyyppi | Kuvaus |
controllerHandle | ControllerHandle_t | Ohjaimen kahva, johon haluat vaikuttaa. |
eTargetPad | ESteamControllerPad | Mihin haptiseen kosketuslevyyn vaikutetaan. |
usDurationMicroSec | unsigned short | Sykäyksen kesto mikrosekunneissa (sekunnin miljoonasosissa). |
usOffMicroSec | unsigned short | Sykäysten välisen tauon kesto mikrosekunneissa. |
unRepeat | unsigned short | usDurationMicroSec / usOffMicroSec -pulssisuhteen toistojen määrä. |
nFlags | unsigned int | Ei tällä hetkellä käytössä, varattu tulevaa käyttöä varten. |
Aiheuttaa toistuvan haptisen sykäyksen tuetuilla ohjaimilla.
Huomaa:Tällä hetkellä vain Steam Controller tukee haptista sykäystä.
Kaikki muut ohjaimet jättävät tämän ohjelmointirajapinnan kutsun huomiotta.
Tämä on käyttäjäystävällisempi funktio kutsuttavaksi kuin TriggerHapticPulse, sillä se voi luoda riittävän pitkiä sykäysmalleja, jotka käyttäjä oikeasti havaitsee.
Kun usDurationMicroSec- ja usOffMicroSec-parametrejä muutetaan, haptisen sykäyksen "tekstuuri" muuttuu.
Esimerkki://1 sekunnin sykäys, jossa on päällä–pois päältä -sykäysmalli joka sekunnin kahdeskymmenesosassa.
SteamController()->TriggerRepeatedHapticPulse( controller1Handle, k_ESteamControllerPad_Left, 50000, 50000, 10 );
TriggerVibration
void TriggerVibration( ControllerHandle_t controllerHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed );
Nimi | Tyyppi | Kuvaus |
controllerHandle | ControllerHandle_t | Ohjaimen kahva, johon haluat vaikuttaa. |
usLeftSpeed | unsigned short | Vasemman tärinämoottorin voimakkuuden arvo. |
usRightSpeed | unsigned short | Oikean tärinämoottorin voimakkuuden arvo. |
Käynnistää värinätapahtuman tuetuilla ohjaimilla.
Huomaa:Tämä ohjelmointirajapinnan kutsu jätetään huomiotta, kun ohjainmalli ei ole yhteensopiva.
Tämä luo perinteisen tärinä-efektin.
Steam Controller emuloi perinteisen tärinän haptiikkaa käyttäen.
Esimerkki:SteamController()->TriggerVibration( controller1Handle, 10000, 10000 );
GetActionOriginFromXboxOrigin
EControllerActionOrigin GetActionOriginFromXboxOrigin( ControllerHandle_t controllerHandle, EXboxOrigin eOrigin );
Nimi | Tyyppi | Kuvaus |
controllerHandle | ControllerHandle_t | Ohjaimen kahva, johon haluat vaikuttaa. Kahvan hakemiseen voidaan käyttää GetControllerForGamepadIndex-jäsenfunktiota. |
eOrigin | EXboxOrigin | Painike, jolle kuva haetaan (esimerkiksi k_EXboxOrigin_A). |
Paluuarvot: EControllerActionOrigin
Hakee toimintolähteen, jota voit käyttää merkin hakutaulussa tai välittää GetGlyphForActionOrigin- tai GetStringForActionOrigin-jäsenfunktioille.
Esimerkki:int nXinputSlot = 1; // Korvaa sillä Xinput-paikalla, joka on pelaajalle oikea.
k_EControllerSourceMode_Dpad_t controller1Handle = GetControllerForGamepadIndex( nXinputSlot );
EControllerActionOrigin buttonOrigin = SteamController()->GetActionOriginFromXboxOrigin( controller1Handle, k_EXboxOrigin_A );
// Hakee kuvan Steam-asiakasohjelmasta.
const char *localGlyphPath = SteamController()->GetGlyphForActionOrigin( buttonOrigin );
printf( "path = %s\n", localGlyphPath ); // "path = C:\Program Files (x86)\Steam\tenfoot\resource\images\library\controller\api\ps4_button_x.png"
//Pelin funktio, joka muuttaa tiedostopolun käytettäväksi pelitekstuuriksi.
glyphTextureID = loadButtonGlyphTextureFromLocalPath( localGlyphPath );ohjaimen kahva
TranslateActionOrigin
EControllerActionOrigin TranslateActionOrigin( ESteamInputType eDestinationInputType, EControllerActionOrigin eSourceOrigin );
Nimi | Tyyppi | Kuvaus |
controllerHandle | ControllerHandle_t | Ohjaimen kahva, johon haluat vaikuttaa. Kahvan hakemiseen voidaan käyttää GetControllerForGamepadIndex-jäsenfunktiota. |
eDestinationInputType | ESteamInputType | Ohjaintyyppi, johon haluat muuntaa. Steam valitsee samanlaisimman tyypin käyttämästäsi SDK-versiosta, jos k_ESteamInputType_Unknown on käytössä. |
eSourceOrigin | EControllerActionOrigin | Painike, jonka haluat muuntaa. |
Paluuarvot: EControllerActionOrigin
Hakee vastaavan lähteen annetulle ohjaintyypille tai lähimmälle ohjaintyypille, joka oli olemassa SDK:ssa, jolla rakensit pelisi, jos eDestinationInputType on k_ESteamInputType_Unknown. Toimintolähdettä voi käyttää merkin hakutaulussa tai välittää GetGlyphForActionOrigin- tai GetStringForActionOrigin-jäsenfunktioille.
Esimerkki:int nXinputSlot = 1; // Korvaa Xinput-paikka pelaajan todellisella Xinput-paikalla, oli se mikä tahansa.
ControllerHandle_t controller1Handle = GetControllerForGamepadIndex( nXinputSlot );
EControllerActionOrigin buttonOrigin = SteamController()->GetActionOriginFromXboxOrigin( controller1Handle, k_EXboxOrigin_A ); //Eli k_EControllerActionOrigin_PS4_X
if ( buttonOrigin >= k_EControllerActionOrigin_Count )
{
// Emme julkaisseet pelissä kuvaa tälle lähteelle. Steam on ilmeisesti lisännyt tuen
//uudelle ohjaimelle. Haetaan lähin arvo, jota tuettiin käytetyssä SDK:ssa.
buttonOrigin = SteamController()->TranslateActionOrigin( k_ESteamInputType_Unknown, buttonOrigin )
}
// Tämä on pelin funktio, joka yrittää hakea merkin mukautetun kuvan.
int glyphTextureID = getHardCodedButtonGlyphTexture( actionOrigin );
GetControllerBindingRevision
bool GetControllerBindingRevision( ControllerHandle_t controllerHandle, int *pMajor, int *pMinor );
Nimi | Tyyppi | Kuvaus |
controllerHandle | ControllerHandle_t | Ohjaimen kahva, johon kysely suoritetaan. |
pMajor | int * | Osoitin integer-arvoon, johon pääversion vaadittu numeroarvo populoidaan. |
pMinor | int * | Osoitin integer-arvoon, johon aliversion vaadittu numeroarvo populoidaan. |
Paluuarvot: bool – true, jos laitteen määritykset löydettiin onnistuneesti ja false, jos määritys latautuu edelleen
Hakee vaaditut pää- ja aliversiot Steam-syötteen ohjelmointirajapinnan määrityksille. Aliversiot ovat pieniä muutoksia varten, esimerkiksi valinnaisen toiminnon lisäämistä tai määrityksen lokalisoinnin päivittämistä varten. Kun aliversio päivitetään, vain uusi määritys tulee päivittää asettamalla Käytä toimintolohkoa -lippu. Pääversioita käytetään, kun vaihdetaan toimintosarjojen määrää tai muuten päivitetään määrityksiä niin paljon, ettei vanhat määritykset ole enää käyttökelpoisia. Kun käyttäjän määritys ei ole sopiva nykyisen virallisen määrityksen pääversion kanssa, Steam päivittää pakotetusti käyttäjälle uuden määrityksen. Uudet määritykset pitää tehdä kaikille ohjaimille, kun pääversio päivitetään.
Esimerkki koodista:int nMinor = -1;
int nMinor = -1;
const int nCurrentMajorRevision = 1;
const int nCurrentMinorRevision = 1;
if ( GetControllerBindingRevision( controllerHandle, &nMajor, &nMinor ) )
{
if ( nMinorRevision != nCurrentMinorRevision )
{
// Aliversio on vanhentunut, mutta ei haittaa.
// Tämä korjaantuu seuraavalla kerralla, kun he päivittävät määrityksiä.
}
if ( nMajorRevision != nCurrentMajorRevision )
{
// Tämän pitäisi tapahtua vain pikaisesti, kun Steam havaitsee
// ja päivittää pakotetusta käyttäjän version viimeisimpään viralliseen määritykseen.
}
}
else
{
// Määritystä ei ole ladattu vielä tälle ohjaimelle.
}
Esimerkki pelitoimintotiedoston käytöstä:"In Game Actions"
{
"major_revision" "0"
“minor_revision” “1”
"actions"
{
...
Tietueet
ISteamController-käyttöliittymän funktiot, joita nämä tietueet voivat palauttaa ja/tai joiden kanssa ne voivat vuorovaikuttaa.
ControllerAnalogActionData_t
Edustaa analogisen toiminnon nykytilaa.
Huomaa: - Tarkat arvot, vaihteluväli jne. riippuvat määrityksestä, mutta (laajasti katsottuna) perinteiset analogiset toiminnot tarjoavat normalisoidut liukulukuarvot suurin piirtein arvojen –1.0 ja 1.0 välillä. Kun taas hiiritoiminnot tarjoavat deltapäivitykset, jotka osoittavat edellisen ruudun jälkeen liikutettujen pikselien lukumäärän. Tämän lopputulos on, että hiiritoiminnot tarjoavat paljon suuremmat absoluuttiset x- ja y-arvot, ja ne ovat suhteelliset aiempaan tallennettuun syötepaikkaan, kun taas perinteiset analogiset arvot ovat pienempiä ja suhteellisia keskellä olevaan fyysiseen ankkuripisteeseen.
- Vaikka hiiritoimintojen tarjoama delta on hyvin samanlainen käyttöjärjestelmän pikselideltaan verrattuna, Steam Controllerin deltat ovat liukulukuja, ei kokonaislukuarvoja. Tämä tarkoittaa vähemmän potentiaalista kvantisointia ja tarkkuuden menetystä, kun data määritetään kameran kiertoon.
- Yhden akselin analogisessa syötteessä (esim. analogiliipaisin) vain x-akseli sisältää dataa, y-akseli on aina nolla.
Nimi | Tyyppi | Kuvaus |
eMode | EControllerSourceMode | Tästä toiminnosta tulevan datan tyyppi. Tämä vastaa toimintosarjan VDF-määrityksessä määritettyä. |
x | float | Toiminnon nykytila vaaka-akselilla. |
y | float | Toiminnon nykytila pystyakselilla. |
bActive | bool | Näyttää, voiko toimintoa tällä hetkellä sitoa aktiiviseen toimintosarjaan. Jos se ei ole saatavilla TAI se ei kuulu aktiiviseen toimintosarjaan, tämä on false. |
ControllerDigitalActionData_t
Edustaa digitaalisen toiminnon nykytilaa.
Nimi | Tyyppi | Kuvaus |
bState | bool | Toiminnon nykytila: true, jos toiminto on painettuna, muuten false. |
bActive | bool | Näyttää, voiko toimintoa tällä hetkellä sitoa aktiiviseen toimintosarjaan. |
ControllerMotionData_t
Edustaa laitteen liikesensorin/-sensoreiden nykytilaa.
HUOMAA! rotQuatX/rotQuatY/rotQuatZ-tyypeille ohjaimen inertiamittausyksikkö luo kvaternion gyron ja kiihtyvyysanturin yhdistelmän perusteella. Arvo on ohjaimen absoluuttinen suunta, mutta se saattaa vaihdella pystyakselilla.
Nimi | Tyyppi | Kuvaus |
rotQuatX | float | Sensorien yhdistelmän absoluuttinen kierto (suuntaus saattaa olla epätarkka), x-akseli. |
rotQuatY | float | Sensorien yhdistelmän absoluuttinen kierto (suuntaus saattaa olla epätarkka), y-akseli. |
rotQuatZ | float | Sensorien yhdistelmän absoluuttinen kierto (suuntaus saattaa olla epätarkka), z-akseli. |
rotQuatW | float | Sensorien yhdistelmän absoluuttinen kierto (suuntaus saattaa olla epätarkka), w-akseli. |
posAccelX | float | Paikkasidonnainen kiihtyvyys, x-akseli. |
posAccelY | float | Paikkaan liittyvä kiihtyvyys, y-akseli. |
posAccelZ | float | Paikkasidonnainen kiihtyvyys, z-akseli. |
rotVelX | float | Kulmanopeus, x-akseli. |
rotVelY | float | Kulmanopeus, y-akseli. |
rotVelZ | float | Kulmanopeus, z-akseli. |
Luetellut tyypit
Nämä ovat ISteamController-käyttöliittymässä käytettäväksi määritetyt luetellut tyypit.
EControllerActionOrigin
Syöttää pelaajan määritykset toiminnoiksi Steam-syötteen määrittäjässä. Arvojen päätarkoitus on ohjata, minkä näyttöpainikkeiden merkkien pitäisi näkyä missäkin toiminnossa, kuten "Paina [A] hypätäksesi".
Nimi | Arvo | Kuvaus |
k_EControllerActionOrigin_None | 0 | |
k_EControllerActionOrigin_A | 1 | (Valve Steam Controller) digitaalinen etupainike A. |
k_EControllerActionOrigin_B | 2 | (Valve Steam Controller) digitaalinen etupainike B. |
k_EControllerActionOrigin_X | 3 | (Valve Steam Controller) digitaalinen etupainike X. |
k_EControllerActionOrigin_Y | 4 | (Valve Steam Controller) digitaalinen etupainike Y. |
k_EControllerActionOrigin_LeftBumper | 5 | (Valve Steam Controller) digitaalinen vasen olkapainike. |
k_EControllerActionOrigin_RightBumper | 6 | (Valve Steam Controller) digitaalinen oikea olkapainike. |
k_EControllerActionOrigin_LeftGrip | 7 | (Valve Steam Controller) digitaalinen vasen kahvapainike. |
k_EControllerActionOrigin_RightGrip | 8 | (Valve Steam Controller) digitaalinen oikea kahvapainike. |
k_EControllerActionOrigin_Start | 9 | (Valve Steam Controller) digitaalinen Start-painike. |
k_EControllerActionOrigin_Back | 10 | (Valve Steam Controller) digitaalinen Back-painike. |
k_EControllerActionOrigin_LeftPad_Touch | 11 | (Valve Steam Controller) vasen haptinen kosketuslevy, yksinkertainen kosketus sormella. |
k_EControllerActionOrigin_LeftPad_Swipe | 12 | (Valve Steam Controller) vasen haptinen kosketuslevy, kosketussyöte millä tahansa akselilla. |
k_EControllerActionOrigin_LeftPad_Click | 13 | (Valve Steam Controller) vasen haptinen kosketuslevy, digitaalinen klikkaus (koko alueelle). |
k_EControllerActionOrigin_LeftPad_DPadNorth | 14 | (Valve Steam Controller) vasen haptinen kosketuslevy, digitaalinen klikkaus (ylin neljännes). |
k_EControllerActionOrigin_LeftPad_DPadSouth | 15 | (Valve Steam Controller) vasen haptinen kosketuslevy, digitaalinen klikkaus (alin neljännes). |
k_EControllerActionOrigin_LeftPad_DPadWest | 16 | (Valve Steam Controller) vasen haptinen kosketuslevy, digitaalinen klikkaus (vasen neljännes). |
k_EControllerActionOrigin_LeftPad_DPadEast | 17 | (Valve Steam Controller) vasen haptinen kosketuslevy, digitaalinen klikkaus (oikea neljännes). |
k_EControllerActionOrigin_RightPad_Touch | 18 | (Valve Steam Controller) oikea haptinen kosketuslevy, yksinkertainen kosketus sormella. |
k_EControllerActionOrigin_RightPad_Swipe | 19 | (Valve Steam Controller) oikea haptinen kosketuslevy, kosketussyöte millä tahansa akselilla. |
k_EControllerActionOrigin_RightPad_Click | 20 | (Valve Steam Controller) oikea haptinen kosketuslevy, digitaalinen klikkaus (koko alueelle). |
k_EControllerActionOrigin_RightPad_DPadNorth | 21 | (Valve Steam Controller) oikea haptinen kosketuslevy, digitaalinen klikkaus (ylin neljännes). |
k_EControllerActionOrigin_RightPad_DPadSouth | 22 | (Valve Steam Controller) oikea haptinen kosketuslevy, digitaalinen klikkaus (alin neljännes). |
k_EControllerActionOrigin_RightPad_DPadWest | 23 | (Valve Steam Controller) oikea haptinen kosketuslevy, digitaalinen klikkaus (vasen neljännes). |
k_EControllerActionOrigin_RightPad_DPadEast | 24 | (Valve Steam Controller) oikea haptinen kosketuslevy, digitaalinen klikkaus (oikea neljännes). |
k_EControllerActionOrigin_LeftTrigger_Pull | 25 | (Valve Steam Controller) vasen analogiliipaisin, mikä tahansa painallus (analoginen arvo). |
k_EControllerActionOrigin_LeftTrigger_Click | 26 | (Valve Steam Controller) vasen analogiliipaisin, vahva painallus (digitaalinen arvo). |
k_EControllerActionOrigin_RightTrigger_Pull | 27 | (Valve Steam Controller) oikea analogiliipaisin, mikä tahansa painallus (analoginen arvo). |
k_EControllerActionOrigin_RightTrigger_Click | 28 | (Valve Steam Controller) oikea analogiliipaisin, vahva painallus (digitaalinen arvo). |
k_EControllerActionOrigin_LeftStick_Move | 29 | (Valve Steam Controller) vasen ohjainsauva, liike millä tahansa akselilla (analoginen arvo). |
k_EControllerActionOrigin_LeftStick_Click | 30 | (Valve Steam Controller) vasen ohjainsauva, klikattu (digitaalinen arvo). |
k_EControllerActionOrigin_LeftStick_DPadNorth | 31 | (Valve Steam Controller) vasen ohjainsauva, digitaalinen liike (ylin neljännes). |
k_EControllerActionOrigin_LeftStick_DPadSouth | 32 | (Valve Steam Controller) vasen ohjainsauva, digitaalinen liike (alin neljännes). |
k_EControllerActionOrigin_LeftStick_DPadWest | 33 | (Valve Steam Controller) vasen ohjainsauva, digitaalinen liike (vasen neljännes). |
k_EControllerActionOrigin_LeftStick_DPadEast | 34 | (Valve Steam Controller) vasen ohjainsauva, digitaalinen liike (oikea neljännes). |
k_EControllerActionOrigin_Gyro_Move | 35 | (Valve Steam Controller) gyroskooppi, analoginen liike millä tahansa akselilla. |
k_EControllerActionOrigin_Gyro_Pitch | 36 | (Valve Steam Controller) gyroskooppi, analoginen liike nyökkäysakselilla (osoita päällä kattoon, osoita lattiaan). |
k_EControllerActionOrigin_Gyro_Yaw | 37 | (Valve Steam Controller) gyroskooppi, analoginen liike pystyakselilla (käännä pää vasemmalle seinää kohti, käännä pää oikealle toista seinää kohti). |
k_EControllerActionOrigin_Gyro_Roll | 38 | (Valve Steam Controller) gyroskooppi, analoginen liike vaaka-akselilla (kallista päätä vasenta olkaa kohti, käännä päätä oikealle toista olkapäätä kohti). |
k_EControllerActionOrigin_PS4_X | 39 | (Sony Dualshock 4) digitaalinen etupainike X. |
k_EControllerActionOrigin_PS4_Circle | 40 | (Sony Dualshock 4) digitaalinen etupainike, ympyrä. |
k_EControllerActionOrigin_PS4_Triangle | 41 | (Sony Dualshock 4) digitaalinen etupainike, kolmio. |
k_EControllerActionOrigin_PS4_Square | 42 | (Sony Dualshock 4) digitaalinen etupainike, neliö. |
k_EControllerActionOrigin_PS4_LeftBumper | 43 | (Sony Dualshock 4) digitaalinen vasen olkapainike. |
k_EControllerActionOrigin_PS4_RightBumper | 44 | (Sony Dualshock 4) digitaalinen oikea olkapainike. |
k_EControllerActionOrigin_PS4_Options | 45 | (Sony Dualshock 4) digitaalinen valinta painike (Start-painike). |
k_EControllerActionOrigin_PS4_Share | 46 | (Sony Dualshock 4) digitaalinen Share-painike (Back-painike). |
k_EControllerActionOrigin_PS4_LeftPad_Touch | 47 | (Sony Dualshock 4) kosketuslevyn vasen puoli, yksinkertainen kosketus sormella. |
k_EControllerActionOrigin_PS4_LeftPad_Swipe | 48 | (Sony Dualshock 4) kosketuslevyn vasen puoli, kosketussyöte millä tahansa akselilla. |
k_EControllerActionOrigin_PS4_LeftPad_Click | 49 | (Sony Dualshock 4) kosketuslevyn vasen puoli, digitaalinen klikkaus (koko alueelle). |
k_EControllerActionOrigin_PS4_LeftPad_DPadNorth | 50 | (Sony Dualshock 4) kosketuslevyn vasen puoli, digitaalinen klikkaus (ylin neljännes) |
k_EControllerActionOrigin_PS4_LeftPad_DPadSouth | 51 | (Sony Dualshock 4) kosketuslevyn vasen puoli, digitaalinen klikkaus (alin neljännes). |
k_EControllerActionOrigin_PS4_LeftPad_DPadWest | 52 | (Sony Dualshock 4) kosketuslevyn vasen puoli, digitaalinen klikkaus (vasen neljännes). |
k_EControllerActionOrigin_PS4_LeftPad_DPadEast | 53 | (Sony Dualshock 4) kosketuslevyn vasen puoli, digitaalinen klikkaus (oikea neljännes). |
k_EControllerActionOrigin_PS4_RightPad_Touch | 54 | (Sony Dualshock 4) kosketuslevyn oikea puoli, yksinkertainen kosketus sormella. |
k_EControllerActionOrigin_PS4_RightPad_Swipe | 55 | (Sony Dualshock 4) kosketuslevyn oikea puoli, kosketussyöte millä tahansa akselilla. |
k_EControllerActionOrigin_PS4_RightPad_Click | 56 | (Valve Steam Controller) kosketuslevyn oikea puoli, digitaalinen klikkaus (koko alueelle). |
k_EControllerActionOrigin_PS4_RightPad_DPadNorth | 57 | (Sony Dualshock 4) kosketuslevyn oikea puoli, digitaalinen klikkaus (ylin neljännes). |
k_EControllerActionOrigin_PS4_RightPad_DPadSouth | 58 | (Sony Dualshock 4) kosketuslevyn oikea puoli, digitaalinen klikkaus (alin neljännes). |
k_EControllerActionOrigin_PS4_RightPad_DPadWest | 59 | (Sony Dualshock 4) kosketuslevyn oikea puoli, digitaalinen klikkaus (vasen neljännes). |
k_EControllerActionOrigin_PS4_RightPad_DPadEast | 60 | (Sony Dualshock 4) kosketuslevyn oikea puoli, digitaalinen klikkaus (oikea neljännes). |
k_EControllerActionOrigin_PS4_CenterPad_Touch | 61 | (Sony Dualshock 4) yhtenäinen kosketuslevy, yksinkertainen kosketus sormella. |
k_EControllerActionOrigin_PS4_CenterPad_Swipe | 62 | (Sony Dualshock 4) yhtenäinen kosketuslevy, kosketussyöte millä tahansa akselilla. |
k_EControllerActionOrigin_PS4_CenterPad_Click | 63 | (Sony Dualshock 4) yhtenäinen kosketuslevy, digitaalinen klikkaus (koko alueelle). |
k_EControllerActionOrigin_PS4_CenterPad_DPadNorth | 64 | (Sony Dualshock 4) yhtenäinen kosketuslevy, digitaalinen klikkaus (ylin neljännes). |
k_EControllerActionOrigin_PS4_CenterPad_DPadSouth | 65 | (Sony Dualshock 4) yhtenäinen kosketuslevy, digitaalinen klikkaus (alin neljännes). |
k_EControllerActionOrigin_PS4_CenterPad_DPadWest | 66 | (Sony Dualshock 4) yhtenäinen kosketuslevy, digitaalinen klikkaus (vasen neljännes). |
k_EControllerActionOrigin_PS4_CenterPad_DPadEast | 67 | (Sony Dualshock 4) yhtenäinen kosketuslevy, digitaalinen klikkaus (oikea neljännes). |
k_EControllerActionOrigin_PS4_LeftTrigger_Pull | 68 | (Sony Dualshock 4) vasen analogiliipaisin, mikä tahansa painallus (analoginen arvo). |
k_EControllerActionOrigin_PS4_LeftTrigger_Click | 69 | (Sony Dualshock 4) vasen analogiliipaisin, vahva painallus (digitaalinen arvo). |
k_EControllerActionOrigin_PS4_RightTrigger_Pull | 70 | (Sony Dualshock 4) oikea analogiliipaisin, mikä tahansa painallus (analoginen arvo). |
k_EControllerActionOrigin_PS4_RightTrigger_Click | 71 | (Sony Dualshock 4) oikea analogiliipaisin, vahva painallus (digitaalinen arvo). |
k_EControllerActionOrigin_PS4_LeftStick_Move | 72 | (Sony Dualshock 4) vasen sauva, liike millä tahansa akselilla (analoginen arvo). |
k_EControllerActionOrigin_PS4_LeftStick_Click | 73 | (Sony Dualshock 4) vasen sauva, klikattu (digitaalinen arvo). |
k_EControllerActionOrigin_PS4_LeftStick_DPadNorth | 74 | (Sony Dualshock 4) vasen sauva, digitaalinen liike (ylin neljännes). |
k_EControllerActionOrigin_PS4_LeftStick_DPadSouth | 75 | (Sony Dualshock 4) vasen sauva, digitaalinen liike (alin neljännes). |
k_EControllerActionOrigin_PS4_LeftStick_DPadWest | 76 | (Sony Dualshock 4) vasen sauva, digitaalinen liike (vasen neljännes). |
k_EControllerActionOrigin_PS4_LeftStick_DPadEast | 77 | (Sony Dualshock 4) vasen sauva, digitaalinen liike (oikea neljännes). |
k_EControllerActionOrigin_PS4_RightStick_Move | 78 | (Sony Dualshock 4) oikea sauva, liike millä tahansa akselilla (analoginen arvo). |
k_EControllerActionOrigin_PS4_RightStick_Click | 79 | (Sony Dualshock 4) oikea sauva, klikattu (digitaalinen arvo). |
k_EControllerActionOrigin_PS4_RightStick_DPadNorth | 80 | (Sony Dualshock 4) oikea sauva, digitaalinen liike (ylin neljännes). |
k_EControllerActionOrigin_PS4_RightStick_DPadSouth | 81 | (Sony Dualshock 4) oikea sauva, digitaalinen liike (alin neljännes). |
k_EControllerActionOrigin_PS4_RightStick_DPadWest | 82 | (Sony Dualshock 4) oikea sauva, digitaalinen liike (vasen neljännes). |
k_EControllerActionOrigin_PS4_RightStick_DPadEast | 83 | (Sony Dualshock 4) oikea sauva, digitaalinen liike (oikea neljännes). |
k_EControllerActionOrigin_PS4_DPad_North | 84 | (Sony Dualshock 4) ristiohjain, painettu (ylin neljännes). |
k_EControllerActionOrigin_PS4_DPad_South | 85 | (Sony Dualshock 4) ristiohjain, painettu (alin neljännes). |
k_EControllerActionOrigin_PS4_DPad_West | 86 | (Sony Dualshock 4) ristiohjain, painettu (vasen neljännes). |
k_EControllerActionOrigin_PS4_DPad_East | 87 | (Sony Dualshock 4) ristiohjain, painettu (oikea neljännes). |
k_EControllerActionOrigin_PS4_Gyro_Move | 88 | (Sony Dualshock 4) gyroskooppi, analoginen liike millä tahansa akselilla. |
k_EControllerActionOrigin_PS4_Gyro_Pitch | 89 | (Sony Dualshock 4) gyroskooppi, analoginen liike nyökkäysakselilla (osoita päällä kattoon, osoita lattiaan). |
k_EControllerActionOrigin_PS4_Gyro_Yaw | 90 | (Sony Dualshock 4) gyroskooppi, analoginen liike pystyakselilla (käännä pää vasemmalle seinää kohti, käännä pää oikealle toista seinää kohti). |
k_EControllerActionOrigin_PS4_Gyro_Roll | 91 | (Sony Dualshock 4) gyroskooppi, analoginen liike vaaka-akselilla (kallista päätä vasenta olkaa kohti, käännä päätä oikealle toista olkapäätä kohti). |
k_EControllerActionOrigin_XBoxOne_A | 92 | (XB1) digitaalinen etupainike A. |
k_EControllerActionOrigin_XBoxOne_B | 93 | (XB1) digitaalinen etupainike B. |
k_EControllerActionOrigin_XBoxOne_X | 94 | (XB1) digitaalinen etupainike X |
k_EControllerActionOrigin_XBoxOne_Y | 95 | (XB1) digitaalinen etupainike Y. |
k_EControllerActionOrigin_XBoxOne_LeftBumper | 96 | (XB1) digitaalinen vasen olkapainike. |
k_EControllerActionOrigin_XBoxOne_RightBumper | 97 | (XB1) digitaalinen oikea olkapainike. |
k_EControllerActionOrigin_XBoxOne_View | 99 | (XB1) digitaalinen Näytä-painike (Back-painike). |
k_EControllerActionOrigin_XBoxOne_LeftTrigger_Pull | 100 | (XB1) vasen analogiliipaisin, mikä tahansa painallus (analoginen arvo). |
k_EControllerActionOrigin_XBoxOne_LeftTrigger_Click | 101 | (XB1) vasen analogiliipaisin, vahva painallus (digitaalinen arvo). |
k_EControllerActionOrigin_XBoxOne_RightTrigger_Pull | 102 | (XB1) oikea analogiliipaisin, mikä tahansa painallus (analoginen arvo). |
k_EControllerActionOrigin_XBoxOne_RightTrigger_Click | 103 | (XB1) oikea analogiliipaisin, vahva painallus (digitaalinen arvo). |
k_EControllerActionOrigin_XBoxOne_LeftStick_Move | 104 | (XB1) vasen sauva, liike millä tahansa akselilla (analoginen arvo). |
k_EControllerActionOrigin_XBoxOne_LeftStick_Click | 105 | (XB1) vasen sauva, klikattu (digitaalinen arvo). |
k_EControllerActionOrigin_XBoxOne_LeftStick_DPadNorth | 106 | (XB1) vasen sauva, digitaalinen liike (ylin neljännes). |
k_EControllerActionOrigin_XBoxOne_LeftStick_DPadSouth | 107 | (XB1) vasen sauva, digitaalinen liike (alin neljännes). |
k_EControllerActionOrigin_XBoxOne_LeftStick_DPadWest | 108 | (XB1) vasen sauva, digitaalinen liike (vasen neljännes). |
k_EControllerActionOrigin_XBoxOne_LeftStick_DPadEast | 109 | (XB1) vasen sauva, digitaalinen liike (oikea neljännes). |
k_EControllerActionOrigin_XBoxOne_RightStick_Move | 110 | (XB1) oikea sauva, liike millä tahansa akselilla (analoginen arvo). |
k_EControllerActionOrigin_XBoxOne_RightStick_Click | 111 | (XB1) oikea sauva, klikattu (digitaalinen arvo). |
k_EControllerActionOrigin_XBoxOne_RightStick_DPadNorth | 112 | (XB1) oikea sauva, digitaalinen liike (ylin neljännes). |
k_EControllerActionOrigin_XBoxOne_RightStick_DPadSouth | 113 | (XB1) oikea sauva, digitaalinen liike (alin neljännes). |
k_EControllerActionOrigin_XBoxOne_RightStick_DPadWest | 114 | (XB1) oikea sauva, digitaalinen liike (vasen neljännes). |
k_EControllerActionOrigin_XBoxOne_RightStick_DPadEast | 115 | (XB1) oikea sauva, digitaalinen liike (oikea neljännes). |
k_EControllerActionOrigin_XBoxOne_DPad_North | 116 | (XB1) ristiohjain, painettu (ylin neljännes). |
k_EControllerActionOrigin_XBoxOne_DPad_South | 117 | (XB1) ristiohjain, painettu (alin neljännes). |
k_EControllerActionOrigin_XBoxOne_DPad_West | 118 | (XB1) ristiohjain, painettu (vasen neljännes). |
k_EControllerActionOrigin_XBoxOne_DPad_East | 119 | (XB1) ristiohjain, painettu (oikea neljännes). |
k_EControllerActionOrigin_XBox360_A | 120 | (X360) digitaalinen etupainike A. |
k_EControllerActionOrigin_XBox360_B | 121 | (X360) digitaalinen etupainike B. |
k_EControllerActionOrigin_XBox360_X | 122 | (X360) digitaalinen etupainike X. |
k_EControllerActionOrigin_XBox360_Y | 123 | (X360) digitaalinen etupainike Y. |
k_EControllerActionOrigin_XBox360_LeftBumper | 124 | (X360) digitaalinen vasen olkapainike. |
k_EControllerActionOrigin_XBox360_RightBumper | 125 | (X360) digitaalinen oikea olkapainike. |
k_EControllerActionOrigin_XBox360_Start | 126 | (X360) digitaalinen Start-painike. |
k_EControllerActionOrigin_XBox360_Back | 127 | (X360) digitaalinen Back-painike. |
k_EControllerActionOrigin_XBox360_LeftTrigger_Pull | 128 | (X360) vasen analogiliipaisin, mikä tahansa painallus (analoginen arvo). |
k_EControllerActionOrigin_XBox360_LeftTrigger_Click | 129 | (X360) vasen analogiliipaisin, vahva painallus (digitaalinen arvo). |
k_EControllerActionOrigin_XBox360_RightTrigger_Pull | 130 | (X360) oikea analogiliipaisin, mikä tahansa painallus (analoginen arvo). |
k_EControllerActionOrigin_XBox360_RightTrigger_Click | 131 | (X360) oikea analogiliipaisin, vahva painallus (digitaalinen arvo). |
k_EControllerActionOrigin_XBox360_LeftStick_Move | 132 | (X360) vasen sauva, liike millä tahansa akselilla (analoginen arvo). |
k_EControllerActionOrigin_XBox360_LeftStick_Click | 133 | (X360) vasen sauva, klikattu (digitaalinen arvo). |
k_EControllerActionOrigin_XBox360_LeftStick_DPadNorth | 134 | (X360) vasen sauva, digitaalinen liike (ylin neljännes). |
k_EControllerActionOrigin_XBox360_LeftStick_DPadSouth | 135 | (X360) vasen sauva, digitaalinen liike (alin neljännes). |
k_EControllerActionOrigin_XBox360_LeftStick_DPadWest | 136 | (X360) vasen sauva, digitaalinen liike (vasen neljännes). |
k_EControllerActionOrigin_XBox360_LeftStick_DPadEast | 137 | (X360) vasen sauva, digitaalinen liike (oikea neljännes). |
k_EControllerActionOrigin_XBox360_RightStick_Move | 138 | (X360) oikea sauva, liike millä tahansa akselilla (analoginen arvo). |
k_EControllerActionOrigin_XBox360_RightStick_Click | 139 | (X360) oikea sauva, klikattu (digitaalinen arvo). |
k_EControllerActionOrigin_XBox360_RightStick_DPadNorth | 140 | (X360) oikea sauva, digitaalinen liike (ylin neljännes). |
k_EControllerActionOrigin_XBox360_RightStick_DPadSouth | 141 | (X360) oikea sauva, digitaalinen liike (alin neljännes). |
k_EControllerActionOrigin_XBox360_RightStick_DPadWest | 142 | (X360) oikea sauva, digitaalinen liike (vasen neljännes). |
k_EControllerActionOrigin_XBox360_RightStick_DPadEast | 143 | (X360) oikea sauva, digitaalinen liike (oikea neljännes). |
k_EControllerActionOrigin_XBox360_DPad_North | 144 | (X360) ristiohjain, painettu (ylin neljännes). |
k_EControllerActionOrigin_XBox360_DPad_South | 145 | (X360) ristiohjain, painettu (alin neljännes). |
k_EControllerActionOrigin_XBox360_DPad_West | 146 | (X360) ristiohjain, painettu (vasen neljännes). |
k_EControllerActionOrigin_XBox360_DPad_East | 147 | (X360) ristiohjain, painettu (oikea neljännes). |
k_EControllerActionOrigin_Count | 196 | Lueteltujen tyyppien arvojen määrä, hyödyllinen iteroinnissa. |
EControllerSource
Ohjaimen alue, joka voidaan käsittää laajemmaksi abstraktiksi modulaariseksi yksiköksi, johon voidaan ottaa yksi monista tiloista käyttöön ja palauttaa merkityksellistä dataa. Esimerkiksi ohjainsauvaa voidaan käsitellä joko yksittäisenä analogisena syötteenä tai se voidaan jakaa neljään, toistuvaan digitaaliseen muotoon virtuaalisessa ristiohjaimessa. ABXY-etupainikkeet muodostavat samoin luonnollisen ryhmän, jota voidaan käsitellä neljänä yksittäisenä painikkeena tai virtuaalisen ristiohjaimen osina jne.
Nimi | Arvo | Kuvaus |
k_EControllerSource_None | 0 | Ei ohjainlähdettä. |
k_EControllerSource_LeftTrackpad | 1 | Vasen kosketuslevy tai keskikosketuslevyn vasen puoli. |
k_EControllerSource_RightTrackpad | 2 | Oikea kosketuslevy tai keskikosketuslevyn oikea puoli. |
k_EControllerSource_Joystick | 3 | Ohjainsauva, tai jos käytössä on useampia ohjainsauvoja, vasen ohjainsauva. |
k_EControllerSource_ABXY | 4 | Neljä keskeisintä etupainiketta. |
k_EControllerSource_Switch | 5 | Ohjaimen kytkimet/painikkeet, jotka eivät kuulu mihinkään toiseen lähteeseen. Tähän sisältyy olkapainikkeet, Start- ja Select-painikkeet sekä kahvapainikkeet. Tämä muualle sopimattomien tapaus ei kuulu mihinkään laajempaan paradigmaan ja saa siksi oman digitaalisten painikkeiden lähteen ja sitä vastaavan tilan, joka käsittelee niitä. |
k_EControllerSource_LeftTrigger | 6 | Vasen analogiliipaisin. |
k_EControllerSource_RightTrigger | 7 | Oikea analogiliipaisin. |
k_EControllerSource_Gyro | 8 | Sisäinen gyroskooppi. |
k_EControllerSource_CenterTrackpad | 9 | Keskellä oleva kosketuslevy. (Vain DualShock 4.) |
k_EControllerSource_RightJoystick | 10 | Oikea ohjainsauva. Jos on vain yksi ohjainsauva, lähdettä ei käytetä. |
k_EControllerSource_DPad | 11 | Ristiohjain. |
k_EControllerSource_Key | 12 | Näppäimistön näppäin (tarkistuskoodin omaavat näppäimistöt). |
k_EControllerSource_Mouse | 13 | Perinteinen hiiri. |
k_EControllerSource_Count | 14 | Lueteltujen tyyppien määrä, hyödyllinen iteroinnissa. |
EControllerSourceMode
Ohjainlähteen määrittäjän määräävä virtuaalinen syötetila. Määrittäjä voi esimerkiksi saada analogisen ohjainsauvan toimimaan ristiohjaimen tavoin neljällä digitaalisella syötteellä. EControllerSource olisi k_EControllerSource_Joystick ja EControllerSourceMode olisi k_EControllerSourceMode_Dpad. Tila muuttaa myös kaikkien liitettyjen toimintojen saaman syötedatan.
Nimi | Arvo | Kuvaus |
k_EControllerSourceMode_None | 0 | Ei syötetilaa. |
k_EControllerSourceMode_Dpad | 1 | Ristiohjain – neljä digitaalista suuntapainiketta yhdessä ristinmuotoisessa painikkeessa, jossa vain yhtä painikkeen akselia voidaan painaa kerralla. |
k_EControllerSourceMode_Buttons | 2 | |
k_EControllerSourceMode_FourButtons | 3 | Neljä digitaalista etupainiketta, joita voidaan painaa yhtäaikaisesti. |
k_EControllerSourceMode_AbsoluteMouse | 4 | |
k_EControllerSourceMode_RelativeMouse | 5 | |
k_EControllerSourceMode_JoystickMove | 6 | |
k_EControllerSourceMode_JoystickMouse | 7 | |
k_EControllerSourceMode_JoystickCamera | 8 | |
k_EControllerSourceMode_ScrollWheel | 9 | |
k_EControllerSourceMode_Trigger | 10 | |
k_EControllerSourceMode_MouseJoystick | 12 | |
k_EControllerSourceMode_MouseRegion | 13 | |
k_EControllerSourceMode_SingleButton | 15 | |
k_EControllerSourceMode_Switches | 16 | |
ESteamControllerLEDFlag
Hallinnoi Steam Controllerin LED-valon väriä (jos laitteessa on sellainen).
Huomaa:Steam Controllerissa on LED-valo, mutta tämä vaikuttaa vain sen kirkkauteen (väri on aina valkoinen).
DualShock 4:ssä on LED-valopalkki, jonka väri ja kirkkaus voidaan määrittää.
Nimi | Arvo | Kuvaus |
k_ESteamControllerLEDFlag_SetColor | 0 | Määritä värit tiettyihin arvoihin. |
k_ESteamControllerLEDFlag_RestoreUserDefault | 1 | Palauta oletusväri (pelin ulkopuolisiin) asetuksiin. |
ESteamInputType
Edustaa annetun laitteiston laitemallia.
Nimi | Arvo | Kuvaus |
k_ESteamInputType_Unknown | 0 | Kaiken kattava tyyppi tunnistamattomille laitteille. |
k_ESteamInputType_SteamController | 1 | Valven Steam Controller -ohjain |
k_ESteamInputType_XBox360Controller | 2 | Microsoft Xbox 360 -ohjain |
k_ESteamInputType_XBoxOneController | 3 | Microsoft Xbox One -ohjain |
k_ESteamInputType_GenericXInput | 4 | Mikä tahansa geneerinen kolmannen osapuolen XInput-laite. |
k_ESteamInputType_PS4Controller | 5 | Sony PlayStation 4 -ohjain |
k_ESteamInputType_AppleMFiController | 6 | Käyttämätön |
k_ESteamInputType_AndroidController | 7 | Käyttämätön |
k_ESteamInputType_SwitchJoyConPair | 8 | Käyttämätön |
k_ESteamInputType_SwitchJoyConSingle | 9 | Käyttämätön |
k_ESteamInputType_SwitchProController | 10 | Nintendo Switch Pro -ohjain |
k_ESteamInputType_MobileTouch | 11 | Steam Link -mobiilisovelluksen kosketusohjain. |
k_ESteamInputType_PS3Controller | 12 | Sony Playstation 3 -ohjain tai PS3/PS4-yhteensopiva lento-ohjain |
k_ESteamInputType_Count | 13 | Palautettujen arvojen nykyinen määrä. |
k_ESteamInputType_MaximumPossibleValue | 255 | Suurin mahdollinen paluuarvo. |
ESteamControllerPad
Steam Controllerin kosketuslevyalue.
Huomaa:Steam Controllerissa arvot vastaavat vasenta ja oikeaa haptista kosketuslevyä.
DualShock 4:ssä arvot vastaavat vasenta ja oikeaa puolta yhdestä, keskellä olevasta kosketuslevystä.
Nimi | Arvo | Kuvaus |
k_ESteamControllerPad_Left | 0 | Steam Controllerin vasen kosketuslevyalue. Yhteensopivat mallit: Steam Controller, DualShock 4 |
k_ESteamControllerPad_Right | 1 | Steam Controllerin oikea kosketuslevyalue. Yhteensopivat mallit: Steam Controller, DualShock 4 |
Typedefit
Nämä ovat ISteamController-käyttöliittymässä käytettäväksi määritetyt typedefit.
Nimi | Perustyyppi | Kuvaus |
ControllerActionSetHandle_t | uint64 | Näitä kahvoja käytetään viittaamaan tiettyihin pelin toimintoihin tai toimintosarjoihin. Toimintojen kahvoja ei kysytä alustusvaiheessa suorituskykyyn liittyvistä syitä johtuen. |
ControllerAnalogActionHandle_t | uint64 | Analogisen toiminnon kahva. Tämä voidaan saada GetAnalogActionHandle-jäsenfunktiosta. |
ControllerDigitalActionHandle_t | uint64 | Digitaalisen toiminnon kahva. Tämä voidaan saada GetDigitalActionHandle-jäsenfunktiosta. |
ControllerHandle_t | uint64 | Tämä kahva tunnistaa johdonmukaisesti ohjaimen, vaikka sen yhteys olisi katkaistu tai se olisi yhdistetty uudelleen. |
Vakiot
Nämä vakiot on määritetty käytettäväksi ISteamController-käyttöliittymässä.
Nimi | Tyyppi | Arvo | Kuvaus |
STEAMCONTROLLER_INTERFACE_VERSION | const char * | "SteamController007" | |
STEAM_CONTROLLER_HANDLE_ALL_CONTROLLERS | int | UINT64_MAX | Kun lähetät asetuksen tiettyyn ohjaimen kahvaan, voit käyttää tätä erityistä arvoa kahvan sijaan lähettämään asetukset kaikkiin ohjaimiin. |
STEAM_CONTROLLER_MAX_ANALOG_ACTIONS | int | 16 | Jokaisessa ohjaimessa suoritettavien analogisten toimintojen enimmäismäärä. |
STEAM_CONTROLLER_MAX_ANALOG_ACTION_DATA | float | 1.0f | Analogisen toiminnon raportoima enimmäisarvo millä tahansa akselilla. |
STEAM_CONTROLLER_MAX_COUNT | int | 16 | Steam-syötteen määrittäjän kanssa samanaikaisesti käytettävien ohjaimien enimmäismäärä. |
STEAM_CONTROLLER_MAX_DIGITAL_ACTIONS | int | 128 | Ohjaimessa suoritettavien digitaalisten toimintojen enimmäismäärä. |
STEAM_CONTROLLER_MAX_ORIGINS | int | 8 | Yksittäiseen toimintoon liitettävien syötelähteiden enimmäismäärä. |
STEAM_CONTROLLER_MIN_ANALOG_ACTION_DATA | float | -1.0f | Analogisen toiminnon raportoima vähimmäisarvo millä tahansa akselilla. |