RawGameController 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
모든 유형의 게임 컨트롤러를 나타냅니다.
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
- 상속
- 특성
- 구현
Windows 요구 사항
디바이스 패밀리 |
Windows 10 Creators Update (10.0.15063.0에서 도입되었습니다.)
|
API contract |
Windows.Foundation.UniversalApiContract (v4.0에서 도입되었습니다.)
|
예제
다음 코드 조각은 RawGameController.RawGameControllers 목록을 반복하고 각 RawGameController 를 벡터에 추가하는 방법을 보여 줍니다. 상황이 언제든지 변경될 수 있으므로 벡터에 잠금을 설정해야 합니다(예: 컨트롤러의 연결이 끊어지거나 다시 연결될 수 있음).
#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);
}
}
설명
RawGameController 클래스의 인스턴스는 직접 만들 수 없습니다. 대신 클래스의 인스턴스는 연결된 모든 게임 컨트롤러를 나열하는 RawGameController.RawGameControllers 속성을 통해 검색되거나 RawGameController.RawGameControllerAdded 이벤트를 통해 검색됩니다.
RawGameController에서 사용할 수 있는 모든 입력은 이름 없는 단추, 스위치 및 축의 간단한 배열로 노출됩니다. 이 클래스를 사용하면 고객이 사용 중인 컨트롤러 유형에 관계없이 사용자 지정 입력 매핑을 만들 수 있습니다.
이러한 배열을 직접 만든 다음 GetCurrentReading을 사용하여 채워서 단추, 스위치 및 축의 상태를 결정해야 합니다. 자세한 내용은 해당 함수의 설명서를 참조하세요.
RawGameController 클래스를 사용하는 방법에 대한 자세한 내용은 원시 게임 컨트롤러를 참조하세요.
버전 기록
Windows 버전 | SDK 버전 | 추가된 값 |
---|---|---|
1709 | 16299 | DisplayName |
1709 | 16299 | NonRoamableId |
1709 | 16299 | SimpleHapticsControllers |
속성
AxisCount |
원시 게임 컨트롤러의 축 수입니다. |
ButtonCount |
원시 게임 컨트롤러의 단추 수입니다. |
DisplayName |
하드웨어에서 제공하는 컨트롤러의 이름입니다. |
ForceFeedbackMotors |
원시 게임 컨트롤러의 힘 피드백 모터 목록입니다. |
HardwareProductId |
원시 게임 컨트롤러의 하드웨어 제품 ID입니다. |
HardwareVendorId |
원시 게임 컨트롤러의 하드웨어 공급업체 ID입니다. |
Headset |
원시 게임 컨트롤러에 연결된 오디오 헤드셋입니다. |
IsWireless |
원시 게임 컨트롤러의 무선 상태를 나타내는 값을 가져옵니다. |
NonRoamableId |
컨트롤러를 식별하는 고유 ID입니다. 컨트롤러가 연결된 한 ID는 변경되지 않습니다. |
RawGameControllers |
연결된 모든 원시 게임 컨트롤러 목록입니다. |
SimpleHapticsControllers |
디바이스에서 사용할 수 있는 모든 햅틱 피드백 모터를 나타내는 SimpleHapticsController 개체의 컬렉션입니다. |
SwitchCount |
원시 게임 컨트롤러의 스위치 수입니다. |
User |
원시 게임 컨트롤러와 연결된 사용자입니다. |
메서드
FromGameController(IGameController) |
지정된 게임 컨트롤러를 원시 게임 컨트롤러로 반환합니다. |
GetButtonLabel(Int32) |
지정된 단추의 단추 레이블을 검색합니다. |
GetCurrentReading(Boolean[], GameControllerSwitchPosition[], Double[]) |
원시 게임 컨트롤러 상태의 스냅샷 가져옵니다. |
GetSwitchKind(Int32) |
원시 게임 컨트롤러에서 지정된 스위치의 형식을 가져옵니다. |
TryGetBatteryReport() |
원시 게임 컨트롤러의 현재 배터리 상태에 대한 정보를 가져옵니다. |
이벤트
HeadsetConnected |
헤드셋이 원시 게임 컨트롤러에 연결되면 신호를 보냅니다. |
HeadsetDisconnected |
헤드셋이 원시 게임 컨트롤러에서 연결이 끊어지면 신호를 보냅니다. |
RawGameControllerAdded |
새 원시 게임 컨트롤러가 연결되면 신호를 보냅니다. |
RawGameControllerRemoved |
원시 게임 컨트롤러의 연결이 끊어지면 신호를 보냅니다. |
UserChanged |
원시 게임 컨트롤러와 연결된 사용자가 변경되었을 때 신호를 보냅니다. |