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

# GameInputButtonMapping

> GameInputButtonMapping

# GameInputButtonMapping

Descreve como um botão é mapeado para o controle.

## Sintaxe

```cpp theme={null}
struct GameInputButtonMapping {
    GameInputElementKind controllerElementKind;
    uint32_t             controllerIndex;

    // When the button is mapped from an axis
    bool isInverted;

    // Button mapped from button only needs the index

    // When the button is mapped from a switch
    GameInputSwitchPosition switchPosition;
};
```

### Membros

*controllerElementKind*<br />
Tipo: [GameInputElementKind](/pt-BR/reference/input/gameinput/enums/gameinputelementkind)

O tipo de elemento do controle a partir do qual o botão é mapeado.

*controllerIndex*<br />
Tipo: uint32\_t

O índice do elemento do controle a partir do qual o botão é mapeado. O índice começa em zero e é relativo a outros elementos do mesmo tipo. Esse índice é relevante quer o botão seja mapeado a partir de um eixo, de outro botão ou de um switch.

*isInverted*<br />
Tipo: bool

Indica se o valor do eixo é invertido antes de ser convertido em um valor de botão. Por exemplo, se o intervalo de valores fornecido pelo eixo for \[0 - 1], em que 0 é não pressionado e 1 é pressionado, espera-se que 1 represente não pressionado e 0 represente pressionado. Este membro só é válido quando o botão é mapeado a partir de um eixo.

*switchPosition*<br />
Tipo: [GameInputSwitchPosition](/pt-BR/reference/input/gameinput/enums/gameinputswitchposition)

A posição do switch a partir da qual o botão é mapeado. Quando um determinado switch nessa posição é pressionado, o botão é considerado pressionado. Este membro só é válido quando o botão é mapeado a partir de um switch.

## Comentários

Essas informações de mapeamento compartilham informações internas fornecidas pelo dispositivo ou protocolo sobre como ele espera ser interpretado para uma determinada entrada. Em alguns casos, não compartilhamos a totalidade dessas informações e, em vez disso, compartilhamos o que é mais relevante para gerar um mapeamento para a entrada fornecida.

Para botões, permitimos que eles sejam mapeados a partir de um eixo, de outro botão ou de um switch. A entrada de origem é indicada por *controllerElementKind*. Para todos os tipos de elemento de origem, o índice da entrada de origem é indicado por *controllerIndex*. Esse índice pode então ser usado com eixos, botões ou switches do controle, de acordo com o valor de *controllerElementKind*.

## Confira também

[Visão geral do GameInput](/pt-BR/build/core-features/common/input/overviews/input-overview)<br />

[GameInput](/pt-BR/reference/input/gameinput/gameinput_members)

## Histórico de versões

| Versão | Alterações |
| - | - |
| **v3** | Introduzida. |


## Related topics

- [GameInputButtonMapping](/reference/input/gameinput/structs/gameinputbuttonmapping.md)
- [IGameInputMapper::GetGamepadButtonMapping](/reference/input/gameinput/interfaces/igameinputmapper/methods/igameinputmapper_getgamepadbuttonmappinginfo.md)
- [IGameInputMapper::GetRacingWheelButtonMappingInfo](/reference/input/gameinput/interfaces/igameinputmapper/methods/igameinputmapper_getracingwheelbuttonmappinginfo.md)
- [IGameInputMapper::GetArcadeStickButtonMappingInfo](/reference/input/gameinput/interfaces/igameinputmapper/methods/igameinputmapper_getarcadestickbuttonmappinginfo.md)
- [IGameInputMapper::GetFlightStickButtonMappingInfo](/reference/input/gameinput/interfaces/igameinputmapper/methods/igameinputmapper_getflightstickbuttonmappinginfo.md)
