XInputDirectX의 구성 요소이자 DirectInput의 후속 API이다. 기존 DirectInput이 키보드마우스를 포함한 HID를 지원했다면 XInput은 HID 중에서도 Xbox 360Xbox One 컨트롤러 호환 장치 입력만 지원한다. 키보드를 지원하기는 하나 일반적으로 사용하는 키보드가 아닌 컨트롤러 연결 키보드를 지원하는 방식이다.

1 특징

  • 한 장치당 최대 네 개의 컨트롤러 입력이 가능하다[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].

2 같이 보기

3 출처

  1. https://msdn.microsoft.com/en-us/library/windows/desktop/ee417001(v=vs.85).aspx#multiple_controllers
  2. https://msdn.microsoft.com/ko-kr/library/windows/desktop/ee417014(v=vs.85).aspx
  3. https://msdn.microsoft.com/en-us/library/windows/desktop/hh405050(v=vs.85).aspx
  4. https://msdn.microsoft.com/en-us/library/windows/desktop/microsoft.directx_sdk.reference.xinputgetaudiodeviceids(v=vs.85).aspx
  5. https://msdn.microsoft.com/windows/uwp/gaming/game-development-platform-guide#windows_10_apis