> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GameInput

> GameInput

# GameInput

GameInput API는 게임 컨트롤러, 플라이트 스틱, 레이싱 휠, 터치 입력 등 다양한 장치에서 사용자 입력을 캡처하는 데 사용됩니다.

<Note>이 페이지는 현재(최신) GameInput API를 문서화합니다. 각 멤버의 버전 기록은 개별 참조 페이지에 명시되어 있습니다. 이전 API 버전에만 존재했던 멤버는 아래의 [제거된 멤버](#removed-members) 섹션에 나열되어 있습니다. API의 최신 런타임은 API의 사용 가능한 모든 버전을 지원하므로, 제거된 멤버도 이전 버전용 헤더와 함께 계속 사용할 수 있습니다.</Note>

## 인터페이스

| 인터페이스                                                                                                                              | 설명                                                    |
| ---------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
| [IGameInputDevice](/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice)                                        | 입력 장치를 정의합니다.                                         |
| [IGameInputDispatcher](/reference/input/gameinput/interfaces/IGameInputDispatcher/igameinputdispatcher)                            | GameInput API에서 관리하는 백그라운드 작업의 스케줄링에 대한 수동 제어를 제공합니다. |
| [IGameInputForceFeedbackEffect](/reference/input/gameinput/interfaces/igameinputforcefeedbackeffect/igameinputforcefeedbackeffect) | 호환되는 입력 장치의 포스 피드백 효과를 설명합니다.                         |
| [IGameInputMapper](/reference/input/gameinput/interfaces/igameinputmapper/igameinputmapper)                                        | GameInput이 장치를 매핑하는 방식에 대한 정보를 제공합니다.                 |
| [IGameInputRawDeviceReport](/reference/input/gameinput/interfaces/igameinputrawdevicereport/igameinputrawdevicereport)             | 입력 장치와 주고받는 원시 바이트 버퍼를 나타냅니다.                         |
| [IGameInputReading](/reference/input/gameinput/interfaces/igameinputreading/igameinputreading)                                     | 단일 입력 업데이트에 대한 데이터를 포함합니다.                            |
| [IGameInput](/reference/input/gameinput/interfaces/igameinput/igameinput)                                                          | 장치 입력 스트림에 대한 접근을 제공하는 프로세스별 싱글톤입니다.                  |

## 함수

| 함수                                                                                                      | 설명                                           |
| ------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
| [GameInputCreate](/reference/input/gameinput/functions/gameinputcreate)                                 | IGameInput 인터페이스의 인스턴스를 검색합니다.               |
| [GameInputDeviceCallback](/reference/input/gameinput/functions/gameinputdevicecallback)                 | 장치 연결 및 연결 해제 이벤트에 대한 콜백을 정의합니다.             |
| [GameInputKeyboardLayoutCallback](/reference/input/gameinput/functions/gameinputkeyboardlayoutcallback) | 키보드 레이아웃 변경 이벤트에 대한 콜백을 정의합니다.               |
| [GameInputReadingCallback](/reference/input/gameinput/functions/gameinputreadingcallback)               | 새 판독 값 도착 이벤트에 대한 콜백을 정의합니다.                 |
| [GameInputSystemButtonCallback](/reference/input/gameinput/functions/gameinputsystembuttoncallback)     | Guide 또는 Share 버튼 누름 및 놓음 이벤트에 대한 콜백을 정의합니다. |

## 구조체

| 구조체                                                                                                               | 설명                               |
| ----------------------------------------------------------------------------------------------------------------- | -------------------------------- |
| [GameInputArcadeStickInfo](/reference/input/gameinput/structs/gameinputarcadestickinfo)                           | 아케이드 스틱의 특성을 자세히 설명합니다.          |
| [GameInputArcadeStickState](/reference/input/gameinput/structs/gameinputarcadestickstate)                         | 아케이드 스틱의 현재 상태를 제공합니다.           |
| [GameInputAxisMapping](/reference/input/gameinput/structs/gameinputaxismapping)                                   | 축이 컨트롤러에 매핑되는 방식을 설명합니다.         |
| [GameInputButtonMapping](/reference/input/gameinput/structs/gameinputbuttonmapping)                               | 버튼이 컨트롤러에 매핑되는 방식을 설명합니다.        |
| [GameInputControllerInfo](/reference/input/gameinput/structs/gameinputcontrollerinfo)                             | 컨트롤러의 특성을 자세히 설명합니다.             |
| [GameInputControllerSwitchInfo](/reference/input/gameinput/structs/gameinputcontrollerswitchinfo)                 | 입력 장치의 스위치를 지정합니다.               |
| [GameInputDeviceInfo](/reference/input/gameinput/structs/gameinputdeviceinfo)                                     | 입력 장치에 대한 포괄적인 정보를 포함합니다.        |
| [GameInputFlightStickInfo](/reference/input/gameinput/structs/gameinputflightstickinfo)                           | 플라이트 스틱의 특성을 자세히 설명합니다.          |
| [GameInputFlightStickState](/reference/input/gameinput/structs/gameinputflightstickstate)                         | 플라이트 스틱의 현재 상태를 제공합니다.           |
| [GameInputForceFeedbackConditionParams](/reference/input/gameinput/structs/gameinputforcefeedbackconditionparams) | 포스 피드백 효과의 특정 물리적 측면을 정의합니다.     |
| [GameInputForceFeedbackConstantParams](/reference/input/gameinput/structs/gameinputforcefeedbackconstantparams)   | 포스 피드백 효과의 상수 물리적 측면을 정의합니다.     |
| [GameInputForceFeedbackEnvelope](/reference/input/gameinput/structs/gameinputforcefeedbackenvelope)               | 포스 피드백 효과를 수정하는 엔벨로프를 정의합니다.     |
| [GameInputForceFeedbackMagnitude](/reference/input/gameinput/structs/gameinputforcefeedbackmagnitude)             | 포스 피드백 효과에 의해 가해지는 힘의 크기를 정의합니다. |
| [GameInputForceFeedbackMotorInfo](/reference/input/gameinput/structs/gameinputforcefeedbackmotorinfo)             | 포스 피드백 모터에 대한 정보를 제공합니다.         |
| [GameInputForceFeedbackParams](/reference/input/gameinput/structs/gameinputforcefeedbackparams)                   | 포스 피드백 효과의 API 지원 속성을 정의합니다.     |
| [GameInputForceFeedbackPeriodicParams](/reference/input/gameinput/structs/gameinputforcefeedbackperiodicparams)   | 주기적 포스 피드백 효과에 대한 매개변수를 정의합니다.   |
| [GameInputForceFeedbackRampParams](/reference/input/gameinput/structs/gameinputforcefeedbackrampparams)           | 램프 포스 피드백 효과에 대한 매개변수를 정의합니다.    |
| [GameInputGamepadInfo](/reference/input/gameinput/structs/gameinputgamepadinfo)                                   | 게임패드의 특성을 자세히 설명합니다.             |
| [GameInputGamepadState](/reference/input/gameinput/structs/gameinputgamepadstate)                                 | 게임패드 입력 장치의 현재 상태를 제공합니다.        |
| [GameInputHapticInfo](/reference/input/gameinput/structs/gameinputhapticinfo)                                     | 햅틱 피드백 모터의 특성을 자세히 설명합니다.        |
| [GameInputKeyState](/reference/input/gameinput/structs/gameinputkeystate)                                         | 키보드 키의 현재 상태를 제공합니다.             |
| [GameInputKeyboardInfo](/reference/input/gameinput/structs/gameinputkeyboardinfo)                                 | 키보드의 특성을 자세히 설명합니다.              |
| [GameInputMouseInfo](/reference/input/gameinput/structs/gameinputmouseinfo)                                       | 마우스의 특성을 자세히 설명합니다.              |
| [GameInputMouseState](/reference/input/gameinput/structs/gameinputmousestate)                                     | 마우스의 현재 상태를 제공합니다.               |
| [GameInputRacingWheelInfo](/reference/input/gameinput/structs/gameinputracingwheelinfo)                           | 레이싱 휠의 특성을 자세히 설명합니다.            |
| [GameInputRacingWheelState](/reference/input/gameinput/structs/gameinputracingwheelstate)                         | 레이싱 휠의 현재 상태를 제공합니다.             |
| [GameInputRawDeviceReportInfo](/reference/input/gameinput/structs/gameinputrawdevicereportinfo)                   | 원시 장치 보고서를 설명합니다.                |
| [GameInputRumbleParams](/reference/input/gameinput/structs/gameinputrumbleparams)                                 | 컨트롤러에서 생성되는 진동 효과를 설명합니다.        |
| [GameInputSensorsInfo](/reference/input/gameinput/structs/gameinputsensorsinfo)                                   | 사용 가능한 센서의 특성을 자세히 설명합니다.        |
| [GameInputSensorsState](/reference/input/gameinput/structs/gameinputsensorsstate)                                 | 장치 센서의 현재 상태를 제공합니다.             |
| [GameInputUsage](/reference/input/gameinput/structs/gameinputusage)                                               | 특정 HID 사용법을 설명합니다.               |
| [GameInputVersion](/reference/input/gameinput/structs/gameinputversion)                                           | 4자리 버전 번호를 설명합니다.                |

## 열거형

| 열거형                                                                                                   | 설명                                           |
| ----------------------------------------------------------------------------------------------------- | -------------------------------------------- |
| [GameInputArcadeStickButtons](/reference/input/gameinput/enums/gameinputarcadestickbuttons)           | 아케이드 스틱의 입력을 열거합니다.                          |
| [GameInputDeviceFamily](/reference/input/gameinput/enums/gameinputdevicefamily)                       | 입력 장치 계열을 열거합니다.                             |
| [GameInputDeviceStatus](/reference/input/gameinput/enums/gameinputdevicestatus)                       | 입력 장치가 가질 수 있는 상태를 열거합니다.                    |
| [GameInputElementKind](/reference/input/gameinput/enums/gameinputelementkind)                         | 주어진 입력의 요소 종류를 열거합니다.                        |
| [GameInputEnumerationKind](/reference/input/gameinput/enums/gameinputenumerationkind)                 | 입력 장치를 열거할 때의 동작 유형을 열거합니다.                  |
| [GameInputFeedbackAxes](/reference/input/gameinput/enums/gameinputfeedbackaxes)                       | 입력 장치에서 사용 가능한 포스 피드백 모터의 방향 유형을 열거합니다.      |
| [GameInputFeedbackEffectState](/reference/input/gameinput/enums/gameinputfeedbackeffectstate)         | 포스 피드백 효과의 상태를 열거합니다.                        |
| [GameInputFlightStickAxes](/reference/input/gameinput/enums/gameinputflightstickaxes)                 | 플라이트 스틱 축을 열거합니다.                            |
| [GameInputFlightStickButtons](/reference/input/gameinput/enums/gameinputflightstickbuttons)           | 플라이트 스틱 버튼을 열거합니다.                           |
| [GameInputFocusPolicy](/reference/input/gameinput/enums/gameinputfocuspolicy)                         | 입력 장치의 포커스 정책을 열거합니다.                        |
| [GameInputForceFeedbackEffectKind](/reference/input/gameinput/enums/gameinputforcefeedbackeffectkind) | 포스 피드백 효과에 적용할 수 있는 시간에 따른 크기 효과의 유형을 열거합니다. |
| [GameInputGamepadAxes](/reference/input/gameinput/enums/gameinputgamepadaxes)                         | 게임패드 축을 열거합니다.                               |
| [GameInputGamepadButtons](/reference/input/gameinput/enums/gameinputgamepadbuttons)                   | 방향 패드(D-패드)를 포함한 게임패드 버튼을 열거합니다.             |
| [GameInputKeyboardKind](/reference/input/gameinput/enums/gameinputkeyboardkind)                       | 키 레이아웃별 키보드 유형을 열거합니다.                       |
| [GameInputKind](/reference/input/gameinput/enums/gameinputkind)                                       | 유효한 GameInput 장치 유형을 열거합니다.                  |
| [GameInputLabel](/reference/input/gameinput/enums/gameinputlabel)                                     | 지원되는 버튼 레이블을 열거합니다.                          |
| [GameInputMouseButtons](/reference/input/gameinput/enums/gameinputmousebuttons)                       | 마우스 버튼을 열거합니다.                               |
| [GameInputMousePositions](/reference/input/gameinput/enums/gameInputmousepositions)                   | 마우스 위치 지정 모드를 열거합니다.                         |
| [GameInputRacingWheelAxes](/reference/input/gameinput/enums/gameinputracingwheelaxes)                 | 레이싱 휠의 축을 열거합니다.                             |
| [GameInputRacingWheelButtons](/reference/input/gameinput/enums/gameinputracingwheelbuttons)           | 레이싱 휠의 버튼을 열거합니다.                            |
| [GameInputRawDeviceReportKind](/reference/input/gameinput/enums/gameinputrawdevicereportkind)         | 원시 장치 보고서의 종류를 열거합니다.                        |
| [GameInputRumbleMotors](/reference/input/gameinput/enums/gameinputrumblemotors)                       | 입력 장치에 대해 API가 지원하는 진동 모터를 열거합니다.            |
| [GameInputSensorAccuracy](/reference/input/gameinput/enums/gameinputsensoraccuracy)                   | 센서의 정확도 수준을 열거합니다.                           |
| [GameInputSensorsKind](/reference/input/gameinput/enums/gameinputsensorskind)                         | 유효한 GameInput 센서 유형을 열거합니다.                  |
| [GameInputSwitchKind](/reference/input/gameinput/enums/gameinputswitchkind)                           | 입력 장치에서 지원하는 스위치 유형을 열거합니다.                  |
| [GameInputSwitchPosition](/reference/input/gameinput/enums/gameinputswitchposition)                   | 입력 장치의 스위치 위치를 열거합니다.                        |
| [GameInputSystemButtons](/reference/input/gameinput/enums/gameinputsystembuttons)                     | 시스템 제어에 사용되는 버튼을 열거합니다.                      |

## 제거된 멤버

다음 멤버는 이전 API 버전에 존재했지만 현재 API에서는 제거되었습니다. 제거된 각 멤버에 대한 전체 문서는 [지원 중단된 GameInput API 멤버](/reference/input/gameinput/deprecated/gameinput_deprecated_members)를 참조하세요.

### 제거된 인터페이스

영구적으로 제거된 인터페이스는 없습니다. `IGameInputRawDeviceReport`는 v1 및 v2에서 없었지만 현재 API에서 다시 도입되었습니다.

### 제거된 함수

| 함수                                                                                                           | 마지막 버전 | 설명                                                                 |
| ------------------------------------------------------------------------------------------------------------ | ------ | ------------------------------------------------------------------ |
| [GameInputGuideButtonCallback](/reference/input/gameinput/deprecated/functions/gameinputguidebuttoncallback) | v0     | Guide 버튼 이벤트에 대한 타이틀 정의 콜백. `GameInputSystemButtonCallback`으로 대체됨. |

### 제거된 구조체

| 구조체                                                                                                                        | 마지막 버전 | 설명                                                  |
| -------------------------------------------------------------------------------------------------------------------------- | ------ | --------------------------------------------------- |
| [GameInputBatteryState](/reference/input/gameinput/deprecated/structs/gameinputbatterystate)                               | v0     | 입력 장치의 배터리 상태를 설명함.                                 |
| [GameInputControllerAxisInfo](/reference/input/gameinput/deprecated/structs/gameinputcontrolleraxisinfo)                   | v2     | 입력 장치의 축을 설명함. `GameInputControllerInfo`의 필드로 대체됨.  |
| [GameInputControllerButtonInfo](/reference/input/gameinput/deprecated/structs/gameinputcontrollerbuttoninfo)               | v2     | 입력 장치의 버튼을 설명함. `GameInputControllerInfo`의 필드로 대체됨. |
| [GameInputHapticFeedbackMotorInfo](/reference/input/gameinput/deprecated/structs/gameinputhapticfeedbackmotorinfo)         | v0     | 햅틱 피드백 모터를 설명함. `GameInputHapticInfo`로 대체됨.         |
| [GameInputHapticFeedbackParams](/reference/input/gameinput/deprecated/structs/gameinputhapticfeedbackparams)               | v0     | 햅틱 피드백 효과를 설명함.                                     |
| [GameInputHapticWaveformInfo](/reference/input/gameinput/deprecated/structs/gameinputhapticwaveforminfo)                   | v0     | 햅틱 피드백 효과의 특성을 설명함.                                 |
| [GameInputMotionInfo](/reference/input/gameinput/deprecated/structs/gameinputmotioninfo)                                   | v0     | 모션 지원 입력 장치의 측정 가능한 속성을 설명함.                        |
| [GameInputMotionState](/reference/input/gameinput/deprecated/structs/gameinputmotionstate)                                 | v0     | 모션 입력의 상태를 설명함.                                     |
| [GameInputRawDeviceItemCollectionInfo](/reference/input/gameinput/deprecated/structs/gameinputrawdeviceitemcollectioninfo) | v0     | 원시 장치 항목의 컬렉션을 설명함.                                 |
| [GameInputRawDeviceReportItemInfo](/reference/input/gameinput/deprecated/structs/gameinputrawdevicereportiteminfo)         | v0     | 원시 장치 보고서 항목을 설명함.                                  |
| [GameInputString](/reference/input/gameinput/deprecated/structs/gameinputstring)                                           | v0     | 입력 장치에 대한 정보를 포함하는 문자열을 설명함.                        |
| [GameInputTouchSensorInfo](/reference/input/gameinput/deprecated/structs/gameinputtouchsensorinfo)                         | v0     | 입력 장치의 터치 센서를 설명함.                                  |
| [GameInputTouchState](/reference/input/gameinput/deprecated/structs/gameinputtouchstate)                                   | v0     | 터치 입력 장치의 상태를 설명함.                                  |
| [GameInputUiNavigationInfo](/reference/input/gameinput/deprecated/structs/gameinputuinavigationinfo)                       | v2     | UI 탐색 버튼의 레이블을 지정함.                                 |
| [GameInputUiNavigationState](/reference/input/gameinput/deprecated/structs/gameinputuinavigationstate)                     | v2     | UI 탐색 입력의 현재 상태를 제공함.                               |

### 제거된 열거형

| 열거형                                                                                                                      | 마지막 버전 | 설명                     |
| ------------------------------------------------------------------------------------------------------------------------ | ------ | ---------------------- |
| [GameInputBatteryStatus](/reference/input/gameinput/deprecated/enums/gameinputbatterystatus)                             | v0     | 입력 장치의 배터리 상태를 열거함.    |
| [GameInputDeviceCapabilities](/reference/input/gameinput/deprecated/enums/gameinputdevicecapabilities)                   | v0     | 입력 장치의 특정 기능을 열거함.     |
| [GameInputLocation](/reference/input/gameinput/deprecated/enums/gameinputlocation)                                       | v0     | 입력 장치의 부분을 열거함.        |
| [GameInputMotionAccuracy](/reference/input/gameinput/deprecated/enums/gameinputmotionaccuracy)                           | v0     | 모션 센서의 정확도 수준을 열거함.    |
| [GameInputRawDeviceItemCollectionKind](/reference/input/gameinput/deprecated/enums/gameinputrawdeviceitemcollectionkind) | v0     | 원시 장치 항목 컬렉션의 유형을 열거함. |
| [GameInputRawDevicePhysicalUnitKind](/reference/input/gameinput/deprecated/enums/gameinputrawdevicephysicalunitkind)     | v0     | 장치 입력과 관련된 물리 단위를 열거함. |
| [GameInputRawDeviceReportItemFlags](/reference/input/gameinput/deprecated/enums/gameinputrawdevicereportitemflags)       | v0     | 원시 장치 보고서 항목의 유형을 열거함. |
| [GameInputTouchShape](/reference/input/gameinput/deprecated/enums/gameinputtouchshape)                                   | v0     | 터치 센서의 모양을 열거함.        |
| [GameInputUiNavigationButtons](/reference/input/gameinput/deprecated/enums/gameinputuinavigationbuttons)                 | v2     | UI 탐색 버튼을 열거함.         |

## 버전 기록

| 버전     | 변경 사항                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **v3** | `IGameInputMapper` 인터페이스 추가. `IGameInputRawDeviceReport` 인터페이스 재도입(v1/v2에는 없었음). `GameInputAxisMapping`, `GameInputButtonMapping`, `GameInputControllerInfo`, `GameInputHapticInfo` 구조체 추가. `GameInputRawDeviceReportInfo` 구조체 및 `GameInputRawDeviceReportKind` 열거형 재도입(v1/v2에는 없었음). `GameInputVersion` 구조체 재도입(v1/v2에는 없었음). `GameInputElementKind`, `GameInputFlightStickAxes`, `GameInputGamepadAxes`, `GameInputRacingWheelAxes` 열거형 추가. `GameInputControllerAxisInfo`, `GameInputControllerButtonInfo`, `GameInputUiNavigationInfo`, `GameInputUiNavigationState` 구조체 제거. `GameInputUiNavigationButtons` 열거형 제거. |
| **v2** | `GameInputSensorsInfo`, `GameInputSensorsState` 구조체 추가. `GameInputSensorsKind`, `GameInputSensorAccuracy` 열거형 추가. `IGameInputDevice::DirectInputEscape`, `IGameInputDevice::GetHapticInfo` 추가. `IGameInputReading::GetSensorsState` 추가. `GameInputVersion` 구조체 재도입(v1에는 없었음).                                                                                                                                                                                                                                                                                                                                          |
| **v1** | `IGameInputRawDeviceReport` 인터페이스, `GameInputRawDeviceReportInfo` 구조체, `GameInputRawDeviceReportKind` 열거형 제거. `GameInputVersion` 구조체 제거. `GameInputMousePositions` 열거형 추가. v0에서만 구현되지 않은 햅틱, 모션, 터치 유형(`GameInputBatteryState`, `GameInputHapticFeedbackMotorInfo`, `GameInputHapticFeedbackParams`, `GameInputHapticWaveformInfo`, `GameInputMotionInfo`, `GameInputMotionState`, `GameInputTouchSensorInfo`, `GameInputTouchState`, `GameInputString`, `GameInputRawDeviceItemCollectionInfo`, `GameInputRawDeviceReportItemInfo`) 제거.                                                                               |
| **v0** | 도입됨.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |

## 개념 문서

* [Input 개요](/build/core-features/common/input/overviews/input-overview)
* [Input 기본 사항](/build/core-features/common/input/overviews/input-fundamentals)
* [Input 장치](/build/core-features/common/input/overviews/input-devices)

## 함께 보기

[Input API 참조](/reference/input/gc-reference-input-toc)


## Related topics

- [Windows.Xbox.Input에서 GameInput으로 포팅](/ko/build/core-features/common/input/porting/input-porting-wxi.md)
- [GameInput 개요](/ko/build/core-features/common/input/overviews/input-overview.md)
- [GameInput 콜백](/ko/build/core-features/common/input/advanced/input-callbacks.md)
- [GameInput 판독값](/ko/build/core-features/common/input/overviews/input-readings.md)
- [GameInput 고급 주제](/ko/build/core-features/common/input/advanced/input-advanced-topics.md)
