Gamepad Clase

Definición

Representa un controlador para juegos.

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
Herencia
Object Platform::Object IInspectable Gamepad
Atributos
Implementaciones

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)

Ejemplos

El siguiente fragmento de código muestra cómo recorrer en bucle la lista Gamepad.Gamepads y agregar cada uno a un vector. Tendrá que poner un bloqueo en el vector, ya que las cosas pueden cambiar en cualquier momento (un controlador podría desconectarse o volver a conectarse, por ejemplo).

#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);
    }
}

Comentarios

Las instancias de la clase Gamepad no se pueden crear directamente; en su lugar, las instancias de la clase Gamepad se recuperan a través de la propiedad Gamepad.Gamepads que enumera todos los controladores para juegos conectados o a través del evento Gamepad.GamepadAdded .

Dispositivos compatibles

Gamepad admite cualquier controlador para juegos compatible con GIP (Protocolo de entrada de juegos) o XUSB.

Historial de versiones

Versión de Windows Versión del SDK Valor agregado
1607 14393 GetButtonLabel
1703 15063 FromGameController
1703 15063 TryGetBatteryReport

Propiedades

Gamepads

Lista de todos los controladores para juegos conectados.

Headset

Auriculares de audio conectados al controlador para juegos.

IsWireless

Obtiene un valor que indica el estado inalámbrico del controlador para juegos.

User

El usuario asociado al controlador para juegos.

Vibration

Describe la velocidad del motor del controlador para juegos.

Métodos

FromGameController(IGameController)

Devuelve el controlador de juego especificado como controlador para juegos.

GetButtonLabel(GamepadButtons)

Recupera la etiqueta del botón para el botón especificado.

GetCurrentReading()

Obtiene una instantánea del estado del controlador para juegos.

TryGetBatteryReport()

Obtiene información sobre el estado actual de la batería del controlador para juegos.

Eventos

GamepadAdded

Indica cuándo se conecta un nuevo controlador para juegos.

GamepadRemoved

Indica cuándo se desconecta un controlador para juegos.

HeadsetConnected

Señala cuando un auricular está conectado al controlador para juegos.

HeadsetDisconnected

Indica cuándo se desconecta un casco del controlador para juegos.

UserChanged

Indica cuándo ha cambiado el usuario asociado al controlador para juegos.

Se aplica a

Consulte también