1 개요

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

2 특징

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

3 같이 보기

4 출처

  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