> ## 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.

# Touchpad

> Touchpad

# Touchpad

Controle analógico que permite ao jogador interagir de forma semelhante ao touchpad de um laptop.

## Propriedades

`type` - "touchpad"

`axis` - *object* ou *array*. Um único [eixo](/pt-BR/reference/system/touchadaptationkit/types/game-streaming-touch-axis) ou uma matriz de [eixos](/pt-BR/reference/system/touchadaptationkit/types/game-streaming-touch-axis) que descrevem o mapeamento deste controle de touchpad.

`action` - *object*, *opcional*. Uma [ação](/pt-BR/reference/system/touchadaptationkit/types/game-streaming-touch-action) a ser invocada ao tocar, além do mapeamento de eixo.

`renderAsButton` - *boolean*, *opcional*. O padrão é `false`. Defina como `true` para renderizar visualmente o touchpad como um botão.

`enabled` - *boolean*, *opcional*. O padrão é `true`. Define o estado visual do controle como habilitado/desabilitado. Um controle desabilitado ainda receberá entrada do jogador, mas NÃO alterará o estilo visual com base na entrada.

`visible` - *boolean*, *opcional*. O padrão é `true`. Determina se o controle é exibido para o jogador interagir. Para alterar durante a jogabilidade, consulte [Alterando layouts de toque usando o estado do jogo](/pt-BR/build/core-features/common/game-streaming/building-touch-layouts/game-streaming-touch-changing-layouts-game-state#change_state).

`styles` - *object*, *opcional*. Personalização da representação visual do controle. Os estilos são representados como um objeto por estado que pode ser estilizado.

O controle pode ter os seguintes estados estilizados:

* `default` - O estilo base.
* `disabled` - O estilo quando o controle está desabilitado. Se não for especificado, quando o controle estiver desabilitado, uma transformação será aplicada ao estilo padrão para que ele pareça desabilitado.
* `idle` - Aplicado quando o jogador NÃO está interagindo com o controle.
* `moving` - Aplicado quando o jogador está tocando no controle e nenhuma `action` está definida.
* `activated` - Aplicado quando o jogador está tocando no controle e uma `action` está definida.

**Propriedades de estilo por estado**

`opacity` - *number*, *opcional*. A opacidade a ser aplicada ao controle. O padrão é 1.0 para todos os estados, exceto `disabled`.

`background` - *object*, *opcional*. Pode ser uma [cor](/pt-BR/reference/system/touchadaptationkit/types/game-streaming-touch-color) ou um [ativo de imagem](/pt-BR/reference/system/touchadaptationkit/types/game-streaming-touch-asset).

`faceImage` - *object*, *opcional*. Pode ser um [ícone](/pt-BR/reference/system/touchadaptationkit/types/game-streaming-touch-icon) ou um [ativo de imagem](/pt-BR/reference/system/touchadaptationkit/types/game-streaming-touch-asset).

**Dimensões dos ativos**

Para cada um dos objetos de estilo que aceitam ativos de imagem, um determinado ativo é fornecido em uma resolução base e nas escalas 1.5x, 2.0x, 3.0x e 4.0x dessa resolução base. A resolução de uma determinada imagem deve ser menor ou igual às seguintes resoluções máximas:

| Objeto | @1.0x | @1.5x | @2.0x | @3.0x | @4.0x |
| :- | :- | :- | :- | :- | :- |
| faceImage | 60x60 | 90x90 | 120x120 | 180x180 | 240x240 |
| background (renderAsButton = true) | 60x60 | 90x90 | 120x120 | 180x180 | 240x240 |
| background (renderAsButton = false) | 120x120 | 90x90 | 240x240 | 360x360 | 480x480 |

## Comentários

O `touchpad` é mais indicado para saídas não fixas e sem zona morta, normalmente a câmera de visão em um jogo em primeira/terceira pessoa.

Para jogos que dão suporte à entrada de mouse, o `touchpad` pode ser usado com mouse relativo para proporcionar uma experiência de câmera de visão mais ajustada.

**Comentários sobre estilo**

Quando `renderAsButton` é `true`:

* No estado `activated`, a `faceImage` é exibida 25% menor.
* Há rótulos e estilo padrão para a cor de fundo dos botões que não usam ativos personalizados e têm uma única ação `gamepadX`, `gamepadY`, `gamepadA` ou `gamepadB`.

## Exemplos

#### Exemplo 1: Touchpad com um ícone de visão

**Figura 1. Controle de touchpad**

<img src="https://mintcdn.com/microsoft-4404708b/gzrdvT5kpqAXKEQt/images/gdk/reference/game-streaming-touch-control-images-touchpad.gif?s=964c6d216b29d4d0f46f3bf0c9ae96e2" alt="Usuário interagindo com um touchpad" width="400" height="400" data-path="images/gdk/reference/game-streaming-touch-control-images-touchpad.gif" />

```JSON theme={null}
{
    "type": "touchpad",
    "axis": {
        "input": "axisXY",
        "output": "rightJoystick",
        "sensitivity": 3
    },
    "styles": {
        "default" : {
            "faceImage" : {
                "type": "icon",
                "value": "look"
            }
        }
    }
}
```

#### Exemplo 2: Touchpad com um ícone de visão renderizado como um botão

**Figura 1. Controle de touchpad como botão**

<img src="https://mintcdn.com/microsoft-4404708b/gzrdvT5kpqAXKEQt/images/gdk/reference/game-streaming-touch-control-images-touchpad-renderAsbutton.gif?s=e803a482b67fdb7ad2eaea7608d4b0c3" alt="Usuário interagindo com um touchpad como botão" width="200" height="200" data-path="images/gdk/reference/game-streaming-touch-control-images-touchpad-renderAsbutton.gif" />

```JSON theme={null}
{
    "type": "touchpad",
    "renderAsButton": true,
    "axis": {
        "input": "axisXY",
        "output": "rightJoystick",
        "sensitivity": 3
    },
    "styles": {
        "default" : {
            "faceImage" : {
                "type": "icon",
                "value": "look"
            }
        }
    }
}
```

## Requisitos

**Versão do layout:** 1.0+ (estilo disponível a partir da versão de layout 3.0+)


## Related topics

- [Touch Adaptation Kit](/reference/system/touchadaptationkit/touchadaptationkit-reference.md)
- [Templates](/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line-templates.md)
- [Touch Adaptation Kit (TAK) Reference](/build/core-features/common/game-streaming/game-streaming-touch-touch-adaptation-kit-overview.md)
- [A designer's guide to building touch controls](/build/core-features/common/game-streaming/building-touch-layouts/game-streaming-tak-designers-guide.md)
- [First Person Shooter Touch Control Layout](/build/core-features/common/game-streaming/building-touch-layouts/samples/game-streaming-touch-tak-sample-first-person.md)
