Versões do XInput

XInput é uma API multiplataforma que foi enviada para uso no Xbox e no Windows. No Xbox, o XInput é fornecido como uma biblioteca estática que é compilada no arquivo executável do jogo principal. No Windows, o XInput é fornecido como uma DLL instalada nas pastas do sistema operacional.

Há três versões atuais da DLL do XInput hoje. Escolha a versão apropriada do XInput com base na funcionalidade do XInput que você usa e nas versões do Windows para as quais você pretende dar suporte.

  • XInput 1.4: o XInput 1.4 é fornecido como parte do Windows 10. Use esta versão para criar aplicativos da UWP.
  • XInput 9.1.0: o XInput 9.1.0 é fornecido como parte do Windows Vista, Windows 7 e Windows 8. Use essa versão se houver a intenção de executar o aplicativo da área de trabalho nessas versões do Windows e você estiver usando a funcionalidade básica do XInput.
  • XInput 1.3: o XInput 1.3 é fornecido como um componente redistribuível no SDK do DirectX com suporte para Windows Vista, Windows 7 e Windows 8. Use esta versão se o aplicativo da área de trabalho se destina a ser executado nessas versões do Windows e você precisa de uma funcionalidade que não seja compatível com o XInput 9.1.0.

XInput 1.4

O XInput 1.4 é fornecido hoje como um componente do sistema no Windows 8 como XINPUT1_4.DLL. Ele está disponível como "caixa de entrada" e não requer redistribuição com um aplicativo. O Software Development Kit do Windows (SDK do Windows) contém o cabeçalho e a biblioteca de importação para vinculação estática em XINPUT1_4.DLL. Para baixar o SDK do Windows 8, confira Downloads para desenvolver aplicativos da área de trabalho.

O XInput 1.4 tem essas principais vantagens em relação a outras versões do XInput:

  • Esta é a única versão que pode ser usada em aplicativos C++/DirectX da Windows Store.
  • A nova função XInputGetAudioDeviceIds fornece uma cadeia de caracteres de ID de dispositivo de áudio que você pode usar para abrir um dispositivo de voz ou áudio de masterização XAudio2 para um fone de ouvido conectado a um controle. A função XInputGetDSoundAudioDeviceGuids não está disponível nesta versão.
  • Fornece relatórios de recursos de dispositivo aprimorados, incluindo XINPUT_CAPS_WIRELESS, XINPUT_CAPS_FFB_SUPPORTED, XINPUT_CAPS_PMD_SUPPORTED, sinalizadores XINPUT_CAPS_NO_NAVIGATION e relatórios mais precisos de XINPUT_CAPS_VOICE_SUPPORTED. Esses sinalizadores são combinados no membro Flags da estrutura XINPUT_CAPABILITIES. A função XInputGetCapabilities retorna XINPUT_CAPABILITIES.

XInput 9.1.0

Assim como o XInput 1.4, o XInput 9.1.0 é fornecido hoje como um componente do sistema no Windows 10, Windows 8.x, Windows 7 e Windows Vista como XINPUT9_1_0.DLL. Ele é mantido principalmente para compatibilidade com versões anteriores com aplicativos existentes. Ele tem um conjunto de funções reduzido, portanto, recomendamos que você use XInput 1.4, se possível. Mas é conveniente usar para aplicativos que devem ser executados em versões de nível inferior do Windows, mas não precisam da funcionalidade de áudio adicional fornecida pelo XInput 1.4 ou XInput 1.3.

O SDK do Windows contém o cabeçalho e a biblioteca de importação para vinculação estática em relação a XINPUT9_1_0.DLL.

O XInput 9.1.0 tem essas desvantagens em relação a outras versões do XInput:

  • Por motivos de compatibilidade com versões anteriores, XInputGetCapabilities nesta versão do XInput retorna informações de funcionalidade fixas. Independentemente do dispositivo controlador anexado, XInputGetCapabilities no XInput 9.1.0 sempre relatará um subtipo de dispositivo de GAMEPAD. Ele não retornará o bit de funcionalidade XINPUT_CAPS_WIRELESS mesmo se um dispositivo sem fio estiver conectado.
  • Você não pode determinar o headset para uma determinada ID de usuário. A função XInputGetAudioDeviceIds não está disponível e a função XInputGetDSoundAudioDeviceGuids não retornará resultados no Windows 8.x ou no Windows 10.
  • As funções XInputEnable, XInputGetBatteryInformation e XInputGetKeystroke não estão disponíveis.

XInput 1.3

Algumas versões anteriores do XInput foram fornecidas como DLLs redistribuíveis no SDK do DirectX. A primeira versão redistribuível do XInput, XInput 1.1, enviada na versão de abril de 2006 do SDK do DirectX. A última versão a ser enviada no SDK do DirectX foi o XInput 1.3, disponível na versão de junho de 2010 do SDK do DirectX herdado. O SDK do DirectX não está mais disponível em Downloads da Microsoft.

Você pode usar o XInput 1.3 para aplicativos que dão suporte a versões de nível inferior do Windows e exigem funcionalidades não fornecidas pelo XInput 9.1.0 (ou seja, relatórios de subtipo corretos, suporte a áudio, suporte explícito a relatórios de bateria e assim por diante).