> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GameInputSensorsState

> Referência da struct GameInputSensorsState: relata acelerômetro, girômetro, direção da bússola e quatérnio de orientação para sensores do GameInput.

# GameInputSensorsState

Descreve o estado dos sensores.

## Sintaxe

```cpp theme={null}
struct GameInputSensorsState
{
    // GameInputSensorsAccelerometer
    float accelerationInGX;
    float accelerationInGY;
    float accelerationInGZ;

    // GameInputSensorsGyrometer
    float angularVelocityInRadPerSecX;
    float angularVelocityInRadPerSecY;
    float angularVelocityInRadPerSecZ;

    // GameInputSensorsCompass
    float headingInDegreesFromMagneticNorth;
    GameInputSensorAccuracy headingAccuracy;

    // GameInputSensorsOrientation
    float orientationW;
    float orientationX;
    float orientationY;
    float orientationZ;
};
```

### Membros

*accelerationInGX*\

Tipo: float

Aceleração linear, em força g, em relação ao eixo x. Válido se `GameInputSensorsInfo` relatar `GameInputSensorsKindAccelerometer`.

*accelerationInGY*\

Tipo: float

Aceleração linear, em força g, em relação ao eixo y. Válido se `GameInputSensorsInfo` relatar `GameInputSensorsKindAccelerometer`.

*accelerationInGZ*\

Tipo: float

Aceleração linear, em força g, em relação ao eixo z. Válido se `GameInputSensorsInfo` relatar `GameInputSensorsKindAccelerometer`.

*angularVelocityInRadPerSecX*\

Tipo: float

Velocidade angular, em radianos por segundo, em relação ao eixo x. Válido se `GameInputSensorsInfo` relatar
`GameInputSensorsKindGyrometer`.

*angularVelocityInRadPerSecY*\

Tipo: float

Velocidade angular, em radianos por segundo, em relação ao eixo y. Válido se `GameInputSensorsInfo` relatar
`GameInputSensorsKindGyrometer`.

*angularVelocityInRadPerSecZ*\

Tipo: float

Velocidade angular, em radianos por segundo, em relação ao eixo z. Válido se `GameInputSensorsInfo` relatar
`GameInputSensorsKindGyrometer`.

*headingInDegreesFromMagneticNorth*\

Tipo: float

Direção, em graus, a partir do norte magnético. Intervalo: \[0, 360). Válido se `GameInputSensorsInfo` relatar
`GameInputSensorsKindCompass`.

*headingAccuracy*\

Tipo: [GameInputSensorAccuracy](https://docs.xbox.com/pt-BR/reference/input/gameinput/enums/gameinputsensoraccuracy.md)

Precisão da direção. Válido se `GameInputSensorsInfo` relatar `GameInputSensorsKindCompass`.

*orientationW*\

Tipo: float

O componente w de um quatérnio que representa a orientação do dispositivo. Válido se `GameInputSensorsInfo` relatar
`GameInputSensorsKindOrientation`.

*orientationX*\

Tipo: float

O componente x de um quatérnio que representa a orientação do dispositivo. Válido se `GameInputSensorsInfo` relatar
`GameInputSensorsKindOrientation`.

*orientationY*\

Tipo: float

O componente y de um quatérnio que representa a orientação do dispositivo. Válido se `GameInputSensorsInfo` relatar
`GameInputSensorsKindOrientation`.

*orientationZ*\

Tipo: float

O componente z de um quatérnio que representa a orientação do dispositivo. Válido se `GameInputSensorsInfo` relatar
`GameInputSensorsKindOrientation`.

## Comentários

Essa estrutura é usada pelo método [IGameInputReading::GetSensorsState](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getsensorsstate.md).

Para obter mais informações, consulte [Leituras do GameInput](https://docs.xbox.com/pt-BR/build/core-features/common/input/overviews/input-readings.md).

A presença de dados válidos é indicada por [GameInputKindSensors](https://docs.xbox.com/pt-BR/reference/input/gameinput/enums/gameinputkind.md) em
[GameInputDeviceInfo](https://docs.xbox.com/pt-BR/reference/input/gameinput/structs/gameinputdeviceinfo.md). Os dados que não forem relatados como presentes serão preenchidos
com valores padrão de repouso.

### Sistema de coordenadas

Espera-se que os dispositivos relatem a aceleração do dispositivo como um sistema destro com Y para cima. A velocidade angular segue a regra
da mão direita em torno desses eixos.

| Sistema de coordenadas do gamepad | Sistema de coordenadas do portátil |
| - | - |
| ![Sistema de coordenadas dos sensores mostrado em um gamepad](https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/input-sensors-coordinates-gamepad.png?fit=max\&auto=format\&n=5IpvKlT-jmAaVkeY\&q=85\&s=cd864c92015f0cc7389d8c43e42e71af) | ![Sistema de coordenadas dos sensores mostrado em um portátil](https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/input-sensors-coordinates-handheld.png?fit=max\&auto=format\&n=5IpvKlT-jmAaVkeY\&q=85\&s=4d9b1548f5b414ab28b2772c4d937c80) |

O eixo X vai do centro do dispositivo em direção à direita. O eixo Y vai do centro do dispositivo em direção
ao rosto do usuário. O eixo Z vai do centro do dispositivo para fora pela parte inferior.

Exemplo de saída de aceleração, em g:

* Dispositivo deitado sobre a mesa: {0, 1, 0}
  * A velocidade angular em repouso, em radianos por segundo, é {0, 0, 0}
* A partir daí, levante o dispositivo: aumenta {0, 2, 0}
* A partir daí, solte o dispositivo: diminui {0, 0, 0}
* Gire o dispositivo de forma que a borda superior fique no ar e a borda inferior fique na superfície: {0, 0, -1}
  * Durante o movimento, a velocidade angular X torna-se positiva: {2, 0, 0}
* Volte à posição plana.
* Gire o dispositivo de forma que a borda esquerda fique no ar e a borda direita fique na superfície: {-1, 0, 0}
  * Durante o movimento, a velocidade angular Z torna-se negativa: {0, 0, -2}
* Volte à posição plana.
* Gire o dispositivo no sentido horário (oposto à regra da mão direita)
  * Durante o movimento, a velocidade angular Y torna-se negativa: {0, -2, 0}

## Requisitos

**Cabeçalho:** GameInput.h

**Plataformas com suporte:** Windows, consoles da família XBOX One e consoles XBOX Series

## Documentação conceitual

* [Criação de sensores do GameInput](https://docs.xbox.com/pt-BR/build/core-features/common/input/hardware/input-hardware-sensors.md)

## Confira também

[Visão geral do GameInput](https://docs.xbox.com/pt-BR/build/core-features/common/input/overviews/input-overview.md)\

[GameInput](https://docs.xbox.com/pt-BR/reference/input/gameinput/gameinput_members.md)

## Histórico de versões

| Versão | Alterações |
| - | - |
| **v2** | **Nova struct** introduzida na v2 com campos de estado de sensor para acelerômetro, girômetro, bússola e orientação. |
| **v1** | Não presente. |
| **v0** | Não presente. |


## Related topics

- [GetSensorsState](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getsensorsstate.md)
- [GameInputSensorsKind](https://docs.xbox.com/pt-BR/reference/input/gameinput/enums/gameinputsensorskind.md)
- [GameInputSensorAccuracy](https://docs.xbox.com/pt-BR/reference/input/gameinput/enums/gameinputsensoraccuracy.md)
- [Criação de sensores no GameInput](https://docs.xbox.com/pt-BR/build/core-features/common/input/hardware/input-hardware-sensors.md)
- [Membros da API do GameInput](https://docs.xbox.com/pt-BR/reference/input/gameinput/gameinput_members.md)
