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

# Visão geral do GameInput

> O GameInput é a API de entrada unificada do GDK para gamepads, teclados, mouses e outros controles em consoles XBOX e no Windows 10 ou posterior.

<a id="introductionSection" />

O GameInput é uma API de entrada de última geração que expõe dispositivos de entrada de todos os tipos por meio de uma única interface consistente. Ele foi projetado com um modelo de programação simples que facilita o uso. O GameInput foi criado do zero para oferecer o melhor desempenho possível. Os principais recursos da API GameInput são os seguintes.

* **Disponibilidade**

  O GameInput está disponível no XBOX por meio do Microsoft Game Development Kit (GDK) e no PC por meio do NuGet. Há suporte para versões mais antigas do Windows, até o Windows 10 19H1 (atualização de maio de 2019).

* **Consistência**

  O GameInput expõe a entrada de teclados, mouses, gamepads e outros controles de jogo por meio de um único modelo de entrada unificado, sincronizado com uma base de tempo comum. O código para lidar com a entrada desses dispositivos é quase idêntico, usando muitas das mesmas funções, mas com filtros diferentes aplicados. Essa consistência facilita a adição de suporte a dispositivos de entrada adicionais sem grandes alterações no código de entrada.

* **Funcionalidade**

  O GameInput é um superconjunto funcional de todas as APIs de entrada legadas (XInput, DirectInput, Raw Input, Human Interface Device (HID) e APIs do WinRT), além de adicionar novos recursos próprios. A funcionalidade do GameInput vai desde o estado simples de gamepad em formato fixo até o acesso detalhado e de baixo nível ao dispositivo bruto. Você pode obter a entrada por sondagem ou por retornos de chamada, de forma orientada a eventos. Hápticos, sensores e resposta de força têm suporte total. Os desenvolvedores podem escrever facilmente SDKs de dispositivos de terceiros sobre o GameInput para fornecer acesso a recursos personalizados de dispositivos.

* **Desempenho**

  O GameInput é construído diretamente sobre as interfaces de hardware do Windows para obter a menor latência de entrada e o menor uso de recursos possíveis. Quase todas as funções da API são livres de bloqueio, com garantias rígidas de desempenho, e ainda assim 100% thread-safe. Esse design torna seguro chamá-las a partir de contextos sensíveis ao tempo, como threads de renderização (a maior exceção é a chamada GameInputCreate). Aplicativos avançados podem assumir o controle direto do agendamento das filas de trabalho assíncronas internas do GameInput, controlando qual thread executa o trabalho e com que frequência.

* **Facilidade de manutenção**

  As novas versões do runtime do GameInput dão suporte a todas as versões da API, da v.0 até a atual, e os jogos podem especificar com qual versão da API foram desenvolvidos. Esse controle de versão significa que os jogos continuam funcionando conforme o esperado mesmo quando novas versões do GameInput são lançadas com novos recursos e melhorias. Além disso, os títulos mais antigos se beneficiam de melhorias de qualidade de vida à medida que a plataforma Windows evolui, incluindo suporte a dispositivos de hardware recém-lançados e correções do lado da plataforma.

* **Usabilidade**

  O GameInput foi projetado tendo a facilidade de uso como prioridade máxima. A maioria das tarefas de entrada comuns pode ser implementada com apenas algumas linhas de código.

<a id="gettingStartedSection" />

## Introdução

Use a API GameInput para todo código novo, independentemente da plataforma de destino. Ela oferece suporte em todas as plataformas Microsoft, incluindo versões anteriores do Windows, e oferece desempenho superior em comparação com as APIs legadas.

<Note>Para jogos desenvolvidos no GDK para XBOX One, o GameInput é a única API de entrada disponível.</Note>

Se você estiver desenvolvendo um jogo destinado ao PC, instale o GameInput a partir do pacote NuGet [Microsoft.GameInput](https://www.nuget.org/packages/Microsoft.GameInput).

Para saber mais sobre a API GameInput, comece com [Fundamentos do GameInput](/pt-BR/build/core-features/common/input/overviews/input-fundamentals).

Se você estiver portando código de entrada de uma base de código existente, ou se planeja aplicar alguns dos recursos estendidos do GameInput lado a lado, confira o [guia de portabilidade do GameInput](/pt-BR/build/core-features/common/input/porting/input-porting) para obter orientações específicas de cada API.

<a id="seeAlsoSection" />

## Confira também

[Fundamentos do GameInput](/pt-BR/build/core-features/common/input/overviews/input-fundamentals)

[GameInput para PC com NuGet](/pt-BR/build/core-features/common/input/overviews/input-nuget)

[Guia de portabilidade do GameInput](/pt-BR/build/core-features/common/input/porting/input-porting)

[Referência da API GameInput](/pt-BR/reference/input/gc-reference-input-toc)

[Microsoft Game Development Kit](/pt-BR/services/playfab/sdks/platforms/gdk)


## Related topics

- [Visão geral do Windows & ROG XBOX Ally](/pt-BR/paths/windows/overview.md)
- [Visão geral do Unity](/pt-BR/paths/unity/overview.md)
- [Visão geral do Unreal Engine](/pt-BR/paths/unreal/overview.md)
- [Visão geral do XBOX Series X|S](/pt-BR/paths/series-xs/overview.md)
- [Visão geral de portabilidade](/pt-BR/paths/porting/overview.md)
