Termo do glossário

O Que É XInput e Por Que Controles Xbox Simplesmente Funcionam?

XInput é a API de controle da Microsoft, lançada em 2005 com o Xbox 360, que permite que jogos de PC leiam entrada de controle através de um layout Xbox padronizado. É por isso que controles Xbox funcionam instantaneamente em jogos modernos sem configuração. XInput é uma API de software, não um tipo de conexão - quando um controle não é detectado no PC, uma incompatibilidade de API é geralmente a causa.

Definição

O que significa XInput

XInput: API de entrada da Microsoft que apresenta controles aos jogos no Windows com um layout padronizado de Xbox. Facilita o reconhecimento, mas usa um conjunto fixo de entradas e admite até quatro controles.
Também chamado deXbox InputXInput APIX-InputAPI de controle Xbox
Funcionamento

Como XInput Funciona

Quando você conecta um controle no PC, o jogo precisa de uma forma padronizada de ler seus botões e analógicos - esse padrão é uma API de entrada. XInput é a da Microsoft, introduzida em 2005 junto com o Xbox 360 para substituir o mais antigo e complicado DirectInput (que data de 1995). A ideia central do XInput é padronização: ele abstrai cada controle em um layout Xbox fixo - os mesmos botões, dois analógicos, um direcional e dois gatilhos independentes nas mesmas posições - então um jogo não precisa saber a forma física do controle. Ele simplesmente consulta o conjunto de controles Xbox padrão, exatamente como um jogo de console Xbox faria. É por isso que um controle Xbox funciona em um jogo de PC moderno no instante em que você o conecta, sem instalar driver ou mapear botões: o jogo fala XInput, o controle Xbox fala XInput, e eles concordam no layout automaticamente. A contrapartida é que XInput é deliberadamente limitado - quatro eixos, dez botões, dois gatilhos e máximo de quatro controles - porque foi projetado em torno do gamepad Xbox, não dispositivos complexos. O DirectInput mais antigo suporta muito mais entradas (oito eixos, 128 botões, force feedback), por isso simuladores de voo e cockpits elaborados ainda dependem dele. Crucialmente, XInput é uma API de software, não uma forma como o controle se conecta fisicamente: um controle pode falar XInput via USB, Bluetooth ou dongle 2.4GHz igualmente.

  1. 01

    Um jogo precisa de uma forma padronizada de ler qualquer controle

    Um controle é apenas hardware enviando estados de botões e analógicos; um jogo precisa de uma interface definida para interpretá-los consistentemente. Essa interface é uma API de entrada. Windows tem duas principais para controles: o DirectInput mais antigo (1995) e o XInput mais novo (2005). O jogo é escrito para comunicar com uma ou ambas, e o controle é feito para responder a uma ou ambas. Quando a API do jogo e a API do controle coincidem, o controle funciona; quando não coincidem, o jogo simplesmente não vê o controle - que é a causa oculta por trás da maioria dos problemas de 'não detectado' no PC.

  2. 02

    XInput padroniza cada controle em um layout Xbox

    A escolha de design do XInput é apresentar cada controle como a mesma coisa: um gamepad Xbox padrão com um conjunto fixo de botões, dois analógicos, um direcional e dois gatilhos em posições conhecidas. O jogo não pergunta 'qual a forma desse controle' - ele pede pelos controles Xbox padrão e os recebe. Essa abstração é por que XInput não precisa de mapeamento ou instalação de driver por controle: o layout é sempre o mesmo, então o suporte a controle do jogo funciona identicamente em cada dispositivo XInput. É o equivalente no PC de como cada jogo em um console Xbox assume o mesmo controle.

  3. 03

    Controles Xbox falam apenas XInput - então simplesmente funcionam

    Controles Xbox (360, One, Series X|S) suportam apenas XInput, não DirectInput. Como XInput é o padrão moderno do Windows e praticamente todos os jogos recentes o utilizam, um controle Xbox é reconhecido automaticamente no momento em que conecta - a razão pela qual é a recomendação padrão para jogos de PC. Muitos controles de terceiros também suportam XInput (frequentemente via chave de modo) especificamente para herdar esse comportamento plug-and-play. Controles PlayStation e Nintendo não se apresentam nativamente como XInput no PC, por isso frequentemente precisam de uma camada de tradução como Steam Input para se comportar como um controle Xbox.

  4. 04

    É uma API, não uma conexão - e tem limites

    XInput governa como um jogo LÊ o controle, completamente separado de como o controle se conecta fisicamente. O mesmo controle pode usar XInput via USB, Bluetooth ou dongle de 2,4GHz - o protocolo sem fio e a API de entrada são camadas diferentes. Os limites do XInput são seu layout fixo de Xbox, quatro eixos, dez botões, dois gatilhos e no máximo quatro controles. Quando você precisa de mais - oito eixos, 128 botões, force feedback para um simulador de voo ou cockpit de corrida - o DirectInput continua sendo a ferramenta, que é o principal motivo pelo qual a API mais antiga e obsoleta ainda sobrevive.

Referência

XInput: o que é XInput e onde estão seus limites

XInput é melhor entendido como a API padronizada e plug-and-play que fez controles de Xbox 'simplesmente funcionarem' no PC - mas é deliberadamente limitada, que é por isso que o DirectInput mais antigo ainda existe para dispositivos complexos. A tabela abaixo apresenta a natureza do XInput, suas especificações, o contraste que explica seus limites e o que fazer quando um controle e um jogo não compartilham uma API.

AspectoAvaliaçãoSignificado
O que é XInputAPI padronizada de controle da Microsoft (2005)Uma interface de software, introduzida com o Xbox 360, que permite que um jogo de Windows leia qualquer controle compatível como um gamepad padrão com layout de Xbox. Seu propósito completo é padronização e simplicidade: reconhecimento automático, sem instalação de driver, sem mapeamento botão por botão. Substituiu o DirectInput mais antigo como a API principal de controle e é o que praticamente todo jogo moderno de PC usa. Não é um cabo, porta ou modo sem fio - puramente a maneira como o jogo lê o controle.
Especificações e limites do XInput4 eixos, 10 botões, 2 gatilhos, máximo de 4 controlesXInput expõe um layout fixo de Xbox: quatro eixos (dois analógicos), dez botões, dois gatilhos independentes e um D-pad, com um máximo rígido de quatro controles por vez. Isso é suficiente para o gamepad padrão para o qual foi projetado, e o layout fixo é exatamente o que o torna plug-and-play. O outro lado é que não pode representar dispositivos com mais entradas - que é o motivo completo pelo qual uma API mais antiga e mais capaz ainda existe ao seu lado.
Por que o DirectInput ainda existe (o contraste)8 eixos, 128 botões, force feedback - para dispositivos complexosDirectInput (1995) é a API mais antiga que o XInput substituiu, agora obsoleta mas ainda suportada. Lida com muito mais: oito eixos, 128 botões, um hat POV e force feedback, sem limite de quatro controles. Essa capacidade é por que simuladores de voo, cockpits de corrida e arcade sticks elaborados ainda usam DirectInput - eles precisam de entradas que o XInput não pode representar. Uma comparação completa XInput-versus-DirectInput é um tópico próprio; aqui é o contraste que explica por que o XInput é simples mas limitado.
Controles Xbox vs não-XboxXbox = apenas XInput; outros podem precisar de traduçãoControles Xbox falam apenas XInput, então são reconhecidos instantaneamente em jogos XInput - a origem de sua reputação plug-and-play. Muitos controles de terceiros oferecem um modo XInput (frequentemente uma chave) para combinar. Controles PlayStation e Nintendo não se apresentam nativamente como XInput no PC, então frequentemente precisam de uma camada de tradução como Steam Input para aparecerem como um controle Xbox. É por isso que um DualSense às vezes 'não é detectado' por um jogo até que o Steam Input esteja envolvido.
Quando um controle não é detectado (a solução)Geralmente incompatibilidade de API, não hardware quebradoSe um jogo ignora um controle, a causa é muito mais frequentemente uma incompatibilidade de API do que uma falha: um controle apenas DirectInput em um jogo apenas XInput, ou vice-versa. A solução é uma camada de tradução, não um reparo. Steam Input emula XInput de uma ampla gama de controles; x360ce faz um controle DirectInput aparecer como um controle Xbox XInput; Xidi pode rotear um controle XInput para jogos DirectInput mais antigos. Identificar qual API o jogo e o controle cada um usa aponta direto para a solução.

A coisa mais útil para lembrar: XInput é uma API de software para como um jogo LÊ um controle, inteiramente separada de como o controle se CONECTA. Um controle pode usar XInput via USB, Bluetooth ou dongle de 2,4GHz - a API de entrada e o protocolo sem fio são camadas diferentes, e confundi-los é comum. O layout padronizado de Xbox do XInput é o que torna controles Xbox plug-and-play no PC, ao custo de ser limitado a quatro eixos, dez botões e quatro controles; o DirectInput mais antigo sobrevive precisamente porque dispositivos complexos como joysticks de voo precisam de mais do que isso. E quando um controle 'não é detectado' no PC, suspeite de incompatibilidade de API antes de falha de hardware - uma camada de tradução como Steam Input geralmente resolve. (Uma comparação completa XInput-versus-DirectInput é um tópico de comparação próprio; esta entrada define XInput e aponta para esse contraste em vez de percorrê-lo.)

Controles relacionados

Controles relacionados a XInput

Perguntas frequentes

perguntas XInput

Não - XInput é uma API de software, não um método de conexão. Governa como um jogo lê os botões e analógicos do seu controle, completamente separado de como o controle se conecta fisicamente. O mesmo controle pode se comunicar via XInput seja plugado via USB, pareado via Bluetooth ou usando um dongle de 2,4GHz. As pessoas frequentemente confundem a API de entrada com o protocolo sem fio, mas são camadas diferentes: o protocolo sem fio é como o controle fala com o PC, enquanto XInput é como o jogo o interpreta uma vez conectado. O suporte a XInput de um controle e seu tipo de conexão são independentes.

Não. Controles Xbox (360, One, Series X|S) usam apenas XInput. Muitos controles de terceiros também suportam XInput, frequentemente via chave de modo, então herdam comportamento plug-and-play semelhante ao Xbox. Mas controles PlayStation e Nintendo não se apresentam nativamente como XInput no PC, e controles mais antigos ou especiais - joysticks de voo, alguns arcade sticks, gamepads legados - podem usar a API DirectInput mais antiga. Um jogo e um controle precisam compartilhar uma API para funcionarem juntos. Quando não compartilham, o jogo não vê o controle, que é a causa oculta por trás de muitos problemas de 'controle não detectado' no PC.

Geralmente não. Muito mais frequentemente do que uma falha de hardware, um controle que um jogo ignora é uma incompatibilidade de API - um controle apenas DirectInput em um jogo feito para XInput, ou um controle XInput em um jogo apenas DirectInput antigo. A solução é uma camada de tradução de software, não um reparo. Steam Input pode apresentar muitos controles ao jogo como um controle Xbox XInput padrão; x360ce faz um controle DirectInput aparecer como XInput; Xidi roteia um controle XInput para jogos DirectInput legados. Antes de assumir que um controle está quebrado, verifique se o jogo e o controle compartilham uma API de entrada e tente uma camada de tradução.

Porque controles Xbox usam XInput, e XInput é o padrão que praticamente todo jogo moderno de PC usa. XInput apresenta o controle como um layout fixo de Xbox que o jogo já sabe como ler, então não há driver para instalar e não há botões para mapear - no momento que você conecta, o jogo o reconhece. É essencialmente a versão PC de como todo jogo em um console Xbox assume o mesmo controle. Essa experiência perfeita e sem configuração é por que o controle Xbox é a recomendação padrão para jogar no PC, mesmo para pessoas que não têm um Xbox.

Resumindo: XInput (2005) é a API moderna e padronizada construída em torno do gamepad Xbox - simples, plug-and-play, mas limitada a um layout fixo, quatro eixos, dez botões e quatro controles. DirectInput (1995) é a API mais antiga que substituiu - obsoleta, mas mais flexível, suportando oito eixos, 128 botões, force feedback e muitos controles. XInput vence para gamepads normais através de pura simplicidade; DirectInput sobrevive para dispositivos complexos como joysticks de voo e cockpits de corrida que precisam de mais entradas do que o XInput pode representar. Uma comparação completa é seu próprio tópico - para a maioria dos jogadores, XInput é o que jogos e controles modernos usam.

Porque um DualSense ou DualShock não se apresenta nativamente como um dispositivo XInput da maneira que um controle Xbox faz. Muitos jogos de PC são construídos em torno do XInput, então esperam um controle estilo Xbox e podem não reconhecer completamente um controle PlayStation sozinhos. A solução comum é uma camada de tradução - Steam Input é a mais popular - que faz o controle PlayStation aparecer ao jogo como um controle Xbox XInput padrão. Uma vez que essa camada está ativa, o controle PlayStation funciona em jogos XInput, embora o jogo geralmente mostre prompts de botões Xbox já que pensa que está falando com um controle Xbox.

Comece roteando o controle através de uma camada de tradução que o apresenta como XInput. Steam Input é o mais fácil: adicione o jogo ao Steam (jogos não-Steam também funcionam), ative o Steam Input e o controle é emulado como um controle Xbox padrão. Para um controle DirectInput especificamente, x360ce pode fazê-lo aparecer como XInput. Se o controle conecta mas o jogo ainda o ignora, confirme que o controle está em seu modo XInput (alguns controles de terceiros têm uma chave de modo), atualize seu firmware e verifique se nenhum outro software de entrada está conflitando. A solução é quase sempre configuração de software, não hardware.

Fontes

Leituras complementares

  1. Glossário: Controle · PCGamingWiki · Consultado em
  2. Comparação XInput e DirectInput · Microsoft Learn · Consultado em
  3. DirectInput vs. XInput para Controles de Jogo: Qual é a Diferença? · How-To Geek · Consultado em
Autoria
Abdul Soomro
Fundador e responsável pelos diagnósticos
Última revisão
Publicado em