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 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 XInput hoje. Escolha a versão apropriada do XInput com base na funcionalidade do XInput que você usa e nas versões do Windows que você pretende dar suporte.
- XInput 1.4: O XInput 1.4 é fornecido como parte do Windows 10. Use esta versão para criar aplicativos 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 o aplicativo da área de trabalho tiver a intenção de ser executado 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 SDK (Kit de Desenvolvimento de Software) do Windows contém o cabeçalho e a biblioteca de importação para vinculação estatica em relação a XINPUT1_4.DLL. Para baixar o SDK do Windows 8, consulte 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 do dispositivo de áudio que você pode usar para abrir um dispositivo de áudio ou voz de domínio XAudio2 para um headset anexado a um controlador. A funçãoXInputGetDSoundAudioDeviceGuids 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 e sinalizadores de XINPUT_CAPS_NO_NAVIGATION e relatórios mais precisos de XINPUT_CAPS_VOICE_SUPPORTED. Esses sinalizadores são combinados no Flags membro 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 estatica com 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 do 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çãoXInputGetAudioDeviceIds não está disponível e função XInputGetDSoundAudioDeviceGuids não retornará resultados no Windows 8.x ou windows 10.
- AsXInputEnable, XInputGetBatteryInformation e funções de 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 nos 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).