XInput은 DirectX의 구성 요소이자 DirectInput의 후속 API이다. 기존 DirectInput이 키보드와 마우스를 포함한 HID를 지원했다면 XInput은 HID 중에서도 Xbox 360 및 Xbox One 컨트롤러 호환 장치 입력만 지원한다. 키보드를 지원하기는 하나 일반적으로 사용하는 키보드가 아닌 컨트롤러 연결 키보드를 지원하는 방식이다.
특징
- 한 장치당 최대 네 개의 컨트롤러 입력이 가능하다[1].
- DirectInput 방식으로는 컨트롤러의 진동 기능 지원이 불가능했으나 XInput에서 가능해졌다[2].
- Windows Phone용 XInput에서는 별도 컨트롤러를 연결하지 않은 경우 진동 API를 실행하면 휴대폰의 진동 기능이 작동하며, 키 입력은 뒤로가기 버튼만 지원한다.
- 일반적인 게임패드 외에도 레이싱 휠, 오락실 방식 조이패드, 비행 시뮬레이션 컨트롤러, 기타 컨트롤러, 드럼 컨트롤러 등을 지원한다[3].
- Xbox 호환 컨트롤러에는 헤드폰과 같은 장치 입력도 가능하기 때문에 오디오 장치의 장치 ID를 가져오는 API도 존재한다[4].
- Xbox One 컨트롤러의 임펄스 트리거와 Xbox One 엘리트 컨트롤러의 패들 시프트 관련 API를 지원하지 않는다. PC의 경우 해당 기능은 UWP의 Windows.Gaming.Input API에서만 지원하고 있다[5].
같이 보기
출처
- ↑ https://msdn.microsoft.com/en-us/library/windows/desktop/ee417001(v=vs.85).aspx#multiple_controllers
- ↑ https://msdn.microsoft.com/ko-kr/library/windows/desktop/ee417014(v=vs.85).aspx
- ↑ https://msdn.microsoft.com/en-us/library/windows/desktop/hh405050(v=vs.85).aspx
- ↑ https://msdn.microsoft.com/en-us/library/windows/desktop/microsoft.directx_sdk.reference.xinputgetaudiodeviceids(v=vs.85).aspx
- ↑ https://msdn.microsoft.com/windows/uwp/gaming/game-development-platform-guide#windows_10_apis