Compartilhar via


RawGameController Classe

Definição

Representa qualquer tipo de controlador de jogo.

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

Requisitos do Windows

Família de dispositivos
Windows 10 Creators Update (introduzida na 10.0.15063.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v4.0)

Exemplos

O snippet de código a seguir mostra como percorrer a lista RawGameController.RawGameControllers e adicionar cada RawGameController 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<RawGameController> myRawGameControllers;
concurrency::critical_section myLock{};

for (auto const& rawGameController : RawGameController::RawGameControllers())
{
    // Test whether the raw game controller is already in myRawGameControllers; if it isn't, add it.
    concurrency::critical_section::scoped_lock lock{ myLock };
    auto it{ std::find(begin(myRawGameControllers), end(myRawGameControllers), rawGameController) };

    if (it == end(myRawGameControllers))
    {
        // This code assumes that you're interested in all raw game controllers.
        myRawGameControllers.push_back(rawGameController);
    }
}

Comentários

As instâncias da classe RawGameController não podem ser criadas diretamente; Em vez disso, as instâncias da classe são recuperadas por meio da propriedade RawGameController.RawGameControllers listando todos os controladores de jogo conectados ou por meio do evento RawGameController.RawGameControllerAdded .

Todas as entradas disponíveis em um RawGameController são expostas como matrizes simples de botões, comutadores e eixos não nomeados. Usando essa classe, você pode permitir que os clientes criem mapeamentos de entrada personalizados independentemente do tipo de controlador que eles estão usando.

Você precisará criar essas matrizes por conta própria e, em seguida, preenchê-las usando GetCurrentReading para determinar os estados dos botões, comutadores e eixos. Confira a documentação dessa função para obter mais informações.

Consulte Controlador de jogo bruto para obter informações sobre como usar a classe RawGameController .

Histórico de versão

Versão do Windows Versão do SDK Valor adicionado
1.709 16299 DisplayName
1.709 16299 NonRoamableId
1.709 16299 SimpleHapticsControllers

Propriedades

AxisCount

O número de eixos no controlador de jogo bruto.

ButtonCount

O número de botões no controlador de jogo bruto.

DisplayName

O nome do controlador, fornecido pelo hardware.

ForceFeedbackMotors

A lista de motores de comentários forçados no controlador de jogo bruto.

HardwareProductId

A ID do produto de hardware do controlador de jogo bruto.

HardwareVendorId

A ID do fornecedor de hardware do controlador de jogo bruto.

Headset

O fone de ouvido de áudio anexado ao controlador de jogo bruto.

IsWireless

Obtém um valor que indica o estado sem fio do controlador de jogo bruto.

NonRoamableId

Uma ID exclusiva que identifica o controlador. Enquanto o controlador estiver conectado, a ID nunca será alterada.

RawGameControllers

A lista de todos os controladores de jogos brutos conectados.

SimpleHapticsControllers

Uma coleção de objetos SimpleHapticsController que representam todos os motores de comentários hápticos disponíveis disponíveis no dispositivo.

SwitchCount

O número de opções no controlador de jogo bruto.

User

O usuário associado ao controlador de jogo bruto.

Métodos

FromGameController(IGameController)

Retorna o controlador de jogo especificado como um controlador de jogo bruto.

GetButtonLabel(Int32)

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

GetCurrentReading(Boolean[], GameControllerSwitchPosition[], Double[])

Obtém uma instantâneo do estado bruto do controlador de jogo.

GetSwitchKind(Int32)

Obtém o tipo da opção especificada no controlador de jogo bruto.

TryGetBatteryReport()

Obtém informações sobre o estado da bateria atual do controlador de jogo bruto.

Eventos

HeadsetConnected

Sinaliza quando um headset é anexado ao controlador de jogo bruto.

HeadsetDisconnected

Sinaliza quando um headset é desconectado do controlador de jogo bruto.

RawGameControllerAdded

Sinaliza quando um novo controlador de jogo bruto está conectado.

RawGameControllerRemoved

Sinaliza quando um controlador de jogo bruto é desconectado.

UserChanged

Sinaliza quando o usuário associado ao controlador de jogo bruto é alterado.

Aplica-se a

Confira também