XINPUT_CAPABILITIES
연결된 컨트롤러의 기능을 설명합니다.
구문
typedef struct XINPUT_CAPABILITIES {
BYTE Type;
BYTE SubType;
WORD Flags;
XINPUT_GAMEPAD Gamepad;
XINPUT_VIBRATION Vibration;
} XINPUT_CAPABILITIES
멤버
Type
형식: BYTE
컨트롤러 유형입니다. XINPUT_DEVTYPE_GAMEPAD 형식이고 아래 표에 나열된 값 중 하나를 가져야 합니다.
SubType
형식: BYTE
게임 컨트롤러의 하위 유형입니다.
허용된 하위 유형:
하위 유형 | 의미 |
---|---|
XINPUT_DEVSUBTYPE_UNKNOWN | 알 수 없습니다. 컨트롤러 유형을 알 수 없습니다. |
XINPUT_DEVSUBTYPE_GAMEPAD | 게임 패드 컨트롤러. 왼쪽 및 오른쪽 스틱, 왼쪽 및 오른쪽 트리거, 방향 패드 및 모든 표준 버튼(A, B, X, Y, START, BACK, LB, RB, LSB, RSB)을 포함합니다. |
XINPUT_DEVSUBTYPE_WHEEL | 레이싱 휠 컨트롤러. 왼쪽 스틱 X는 휠 회전을 보고하고 오른쪽 트리거는 가속 페달이며 왼쪽 트리거는 브레이크 페달입니다. 방향 패드 및 대부분의 표준 버튼(A, B, X, Y, START, BACK, LB, RB)을 포함합니다. LSB 및 RSB는 선택 사항입니다. |
XINPUT_DEVSUBTYPE_ARCADE_STICK | 아케이드 스틱 컨트롤러. 방향 패드(위쪽, 아래쪽, 왼쪽, 오른쪽)로 보고하는 디지털 스틱 및 대부분의 표준 버튼(A, B, X, Y, START, BACK)을 포함합니다. 왼쪽 및 오른쪽 트리거는 디지털 버튼으로 구현되며 0 또는 0xFF를 보고합니다. LB, LSB, RB 및 RSB는 선택 사항입니다. |
XINPUT_DEVSUBTYPE_FLIGHT_STICK | 비행 스틱 컨트롤러. 왼쪽 스틱으로 보고하는 피치 및 롤 스틱, 오른쪽 스틱으로 보고하는 POV 햇, 왼쪽 트리거로 보고하는 방향 조정기(핸들 트위스트 또는 로커) 및 오른쪽 트리거로 보고하는 스로틀 컨트롤을 포함합니다. 주 무기(A), 보조 무기(B) 및 기타 표준 버튼(X, Y, START, BACK)에 대한 지원을 포함합니다. LB, LSB, RB 및 RSB는 선택 사항입니다. |
XINPUT_DEVSUBTYPE_DANCE_PAD | 댄스 패드 컨트롤러. 방향 패드 및 패드의 표준 버튼(A, B, X, Y)과 BACK 및 START를 포함합니다. |
XINPUT_DEVSUBTYPE_GUITAR XINPUT_DEVSUBTYPE_GUITAR_ALTERNATE XINPUT_DEVSUBTYPE_GUITAR_BASS | 기타 컨트롤러. 스트럼 막대는 방향 패드(위쪽 및 아래쪽)에 매핑되고 프렛은 A(녹색), B(빨간색), Y(노란색), X(파란색) 및 LB(주황색)에 할당됩니다. 오른쪽 스틱 Y는 세로 방향 센서와 연결되어 있으며, 오른쪽 스틱 X는 와미 바입니다. BACK, START, 방향 패드(왼쪽, 오른쪽)에 대한 지원을 포함합니다. 왼쪽 트리거(픽업 선택기), 오른쪽 트리거, RB, LSB(프렛 한정자), RSB는 선택 사항입니다. 베이스 기타는 기타와 동일하며 설정을 단순화하기 위한 고유한 하위 유형이 있습니다. 알토 기타는 세로 방향 센서에 대해 더 넓은 범위의 이동을 지원합니다. |
XINPUT_DEVSUBTYPE_DRUM_KIT | 드럼 컨트롤러. 드럼 패드는 녹색(플로어 탐)의 경우 B 버튼, 빨간색(스네어 드럼)의 경우 B 버튼, 파란색(로우 탐)의 경우 X 버튼, 노란색(하이 탐)의 경우 Y 버튼, 페달(베이스)의 경우 LB 버튼에 할당됩니다. 방향 패드, BACK 및 START를 포함합니다. RB, LSB 및 RSB는 선택 사항입니다. |
XINPUT_DEVSUBTYPE_ARCADE_PAD | 아케이드 패드 컨트롤러. 방향 패드 및 대부분의 표준 버튼(A, B, X, Y, START, BACK, LB, RB)을 포함합니다. 왼쪽 및 오른쪽 트리거는 디지털 버튼으로 구현되며 0 또는 0xFF를 보고합니다. 왼쪽 스틱, 오른쪽 스틱, LSB 및 RSB는 선택 사항입니다. |
Flags
형식: WORD
컨트롤러의 기능입니다.
값 | 설명 |
---|---|
XINPUT_CAPS_VOICE_SUPPORTED | 장치에 통합 음성 장치가 있습니다. |
XINPUT_CAPS_FFB_SUPPORTED | 장치가 힘 피드백 기능을 지원합니다. 현재, 럼블 이외의 힘 피드백 기능은 Windows의 XINPUT을 통해 지원되지 않습니다. |
XINPUT_CAPS_WIRELESS | 장치가 무선입니다. |
XINPUT_CAPS_PMD_SUPPORTED | 장치가 플러그 인 모듈을 지원합니다. 현재, 플러그 인 모듈(예: TID(텍스트 입력 장치))은 Windows의 XINPUT을 통해 지원되지 않습니다. |
XINPUT_CAPS_NO_NAVIGATION | 장치에 메뉴 탐색 버튼(START, BACK, 방향 패드)이 없습니다. |
Gamepad
형식: XINPUT_GAMEPAD
사용 가능한 컨트롤러 기능 및 컨트롤 해상도를 설명하는 XINPUT_GAMEPAD 구조입니다.
진동
형식: XINPUT_VIBRATION
사용 가능한 진동 기능 및 해상도를 설명하는 XINPUT_VIBRATION 구조입니다.
비고
XInputGetCapabilities는 지정된 컨트롤러의 특성 및 사용 가능한 기능을 나타내기 위해 XINPUT_CAPABILITIES를 반환합니다.
XInputGetCapabilities는 장치가 지원하는 입력을 나타내도록 구조체 멤버를 설정합니다. 디지털 버튼과 같은 이진 상태 컨트롤의 경우 해당 비트는 해당 장치가 해당 컨트롤을 지원하는지 여부를 반영합니다. 엄지스틱과 같은 비례 컨트롤의 경우 이 값은 해당 컨트롤의 해상도를 나타냅니다. 최하위 비트 중 일부는 설정되지 않았을 수 있으며, 이는 컨트롤이 해당 수준에 대한 해상도를 제공하지 않음을 나타냅니다.
SubType 멤버는 존재하는 컨트롤러의 특정 하위 유형을 표시합니다. 게임은 컨트롤러 하위 유형을 감지하고 게임 장르에 적합한 하위 유형을 기반으로 컨트롤러 입력 또는 출력 처리를 조정할 수 있습니다. 예를 들어, 자동차 경주 게임에서는 운전 중인 자동차를 보다 세밀하게 제어할 수 있도록 휠 컨트롤러가 있는지 여부를 확인할 수 있습니다. 그러나 타이틀은 컨트롤러의 하위 유형에 따라 장치를 비활성화하거나 무시해서는 안됩니다. 게임에서 인식할 수 없거나 게임에서 특별히 조정되지 않은 하위 유형은 표준 게임패드(XINPUT_DEVSUBTYPE_GAMEPAD)로 취급해야 합니다.
이전 XUSB Windows 드라이버는 특히 무선 장치에 대해 불완전한 기능 정보를 보고합니다. 최신 XUSB Windows 드라이버는 유선 및 무선 장치를 완전히 지원하며 보다 완벽하고 정확한 기능 플래그를 제공합니다.
요구 사항
헤더: XInputOnGameInput.h
지원되는 플랫폼: Xbox One 패밀리 콘솔 및 Xbox Series 콘솔