Gamepad Classe

Definição

Representa um gamepad.

public ref class Gamepad sealed
public ref class Gamepad sealed : IGameControllerBatteryInfo
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Gamepad final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Gamepad final : IGameControllerBatteryInfo
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Gamepad
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Gamepad : IGameControllerBatteryInfo
Public NotInheritable Class Gamepad
Public NotInheritable Class Gamepad
Implements IGameControllerBatteryInfo
Herança
Object Platform::Object IInspectable Gamepad
Atributos
Implementações

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)

Exemplos

O snippet de código a seguir mostra como percorrer a lista Gamepad.Gamepads e adicionar cada um a um vetor. Você precisará colocar um bloqueio no vetor, pois as coisas podem mudar a qualquer momento (um controlador pode ser desconectado ou reconectado, por exemplo).

#include <concrt.h>
#include <winrt/Windows.Gaming.Input.h>
using namespace winrt;
using namespace Windows::Gaming::Input;
...
std::vector<Gamepad> myGamepads;
concurrency::critical_section myLock{};

for (auto const& gamepad : Gamepad::Gamepads())
{
    // Test whether the gamepad is already in myGamepads; if it isn't, add it.
    concurrency::critical_section::scoped_lock lock{ myLock };
    auto it{ std::find(begin(myGamepads), end(myGamepads), gamepad) };

    if (it == end(myGamepads))
    {
        // This code assumes that you're interested in all gamepads.
        myGamepads.push_back(gamepad);
    }
}
auto myGamepads = ref new Vector<Gamepad^>();
critical_section myLock{};

for (auto gamepad : Gamepad::Gamepads)
{
    // Test whether the gamepad is already in myGamepads; if it isn't, add it.
    critical_section::scoped_lock lock{ myLock };
    auto it = std::find(begin(myGamepads), end(myGamepads), gamepad);

    if (it == end(myGamepads))
    {
        // This code assumes that you're interested in all gamepads.
        myGamepads->Append(gamepad);
    }
}

Comentários

As instâncias da classe Gamepad não podem ser criadas diretamente; Em vez disso, as instâncias da classe Gamepad são recuperadas por meio da propriedade Gamepad.Gamepads listando todos os gamepads conectados ou por meio do evento Gamepad.GamepadAdded .

Dispositivos com suporte

O Gamepad dá suporte a qualquer GIP (Protocolo de Entrada de Jogos) ou gamepad compatível com XUSB.

Histórico de versão

Versão do Windows Versão do SDK Valor adicionado
1607 14393 GetButtonLabel
1703 15063 FromGameController
1703 15063 TryGetBatteryReport

Propriedades

Gamepads

A lista de todos os gamepads conectados.

Headset

O fone de ouvido de áudio anexado ao gamepad.

IsWireless

Obtém um valor que indica o estado sem fio do gamepad.

User

O usuário associado ao gamepad.

Vibration

Descreve a velocidade do motor do gamepad.

Métodos

FromGameController(IGameController)

Retorna o controlador de jogo especificado como um gamepad.

GetButtonLabel(GamepadButtons)

Recupera o rótulo do botão para o botão especificado.

GetCurrentReading()

Obtém uma instantâneo do estado do gamepad.

TryGetBatteryReport()

Obtém informações sobre o estado atual da bateria do gamepad.

Eventos

GamepadAdded

Sinaliza quando um novo gamepad está conectado.

GamepadRemoved

Sinaliza quando um gamepad é desconectado.

HeadsetConnected

Sinaliza quando um headset é anexado ao gamepad.

HeadsetDisconnected

Sinaliza quando um headset é desconectado do gamepad.

UserChanged

Sinaliza quando o usuário associado ao gamepad é alterado.

Aplica-se a

Confira também