게임 컨트롤러의 레지스트리 데이터Registry data for game controllers

참고

이 항목은 Windows 10 호환 게임 컨트롤러 제조업체를 대상으로 하며 대부분의 개발자에 게는 적용 되지 않습니다.This topic is meant for manufacturers of Windows 10-compatible game controllers, and doesn't apply to the majority of developers.

Gamepads 네임 스페이스 는 ihv (독립 하드웨어 공급 업체)가 PC의 레지스트리에 데이터를 추가 하 여 해당 장치를 적절 하 게 Gamepads, RacingWheels, ArcadeSticks, FlightSticksUINavigationControllers 로 표시할 수 있게 해줍니다.The Windows.Gaming.Input namespace allows independent hardware vendors (IHVs) to add data to the PC's registry, enabling their devices to appear as Gamepads, RacingWheels, ArcadeSticks, FlightSticks, and UINavigationControllers as appropriate. 모든 Ihv는 호환 되는 컨트롤러에 대해이 데이터를 추가 해야 합니다.All IHVs should add this data for their compatible controllers. 이렇게 하면 모든 UWP 게임 (및 WinRT API를 사용 하는 모든 데스크톱 게임)에서 게임 컨트롤러를 지원할 수 있습니다.By doing this, all UWP games (and any desktop games that use the WinRT API) will be able to support your game controller.

매핑 구성표Mapping scheme

공급 업체 ID (VID) Vvvv, 제품 ID (PID) Pppp, Usage PAGE UUUU및 usage id XXXX를 사용 하는 장치에 대 한 매핑은 레지스트리의이 위치에서 읽습니다.Mappings for a device with Vendor ID (VID) VVVV, Product ID (PID) PPPP, Usage Page UUUU, and Usage ID XXXX, will be read out from this location in the registry:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\VVVVPPPPUUUUXXXX

아래 표에서는 장치 루트 위치의 예상 값을 설명 합니다.The table below explains the expected values under the device root location:

이름Name TypeType 필수 여부Required? 정보Info
사용 안 함Disabled DWORDDWORD 아니요No

이 특정 장치를 사용 하지 않도록 설정 해야 함을 나타냅니다.Indicates that this particular device should be disabled.

  • 0: 장치를 사용할 수 없습니다.0: Device is not disabled.
  • 1: 장치를 사용할 수 없습니다.1: Device is disabled.
설명Description REG_SZREG_SZ 아니요No 장치에 대 한 간단한 설명입니다.A short description of the device.

장치 설치 관리자는 설치 또는 INF 파일을 통해이 데이터를 레지스트리에 추가 해야 합니다.Your device installer should add this data to the registry (either via setup or an INF file).

장치 루트 위치 아래의 하위 키는 다음 섹션에 자세히 설명 되어 있습니다.Subkeys under the device root location are detailed in the following sections.

게임 패드Gamepad

다음 표에서는 게임 패드 하위 키 아래에 필수 및 선택적 하위 키를 나열 합니다.The table below lists the required and optional subkeys under the Gamepad subkey:

하위 키Subkey 필수 여부Required? 정보Info
메뉴Menu Yes 단추 매핑 참조See Button mapping
보기View Yes
AA Yes
bB Yes
XX Yes
YY Yes
왼쪽 어깨LeftShoulder Yes
RightShoulderRightShoulder Yes
LeftThumbstickButtonLeftThumbstickButton Yes
RightThumbstickButtonRightThumbstickButton Yes
DPadUpDPadUp Yes
DPadDownDPadDown Yes
DPadLeftDPadLeft Yes
DPadRightDPadRight Yes
Paddle1Paddle1 아니요No
Paddle2Paddle2 아니요No
Paddle3Paddle3 아니요No
Paddle4Paddle4 아니요No
왼쪽 트리거LeftTrigger Yes 축 매핑 참조See Axis mapping
RightTriggerRightTrigger Yes
LeftThumbstickXLeftThumbstickX Yes
LeftThumbstickYLeftThumbstickY Yes
RightThumbstickXRightThumbstickX Yes
RightThumbstickYRightThumbstickY Yes

참고

게임 컨트롤러를 지원 되는 게임 패드로 추가 하는 경우 지원 되는 UINavigationController추가 하는 것이 좋습니다.If you add your game controller as a supported Gamepad, we highly recommend that you also add it as a supported UINavigationController.

RacingWheelRacingWheel

다음 표에서는 RacingWheel 하위 키 아래에 필수 및 선택적 하위 키를 나열 합니다.The table below lists the required and optional subkeys under the RacingWheel subkey:

하위 키Subkey 필수 여부Required? 정보Info
PreviousGearPreviousGear Yes 단추 매핑 참조See Button mapping
NextGearNextGear Yes
DPadUpDPadUp 아니요No
DPadDownDPadDown 아니요No
DPadLeftDPadLeft 아니요No
DPadRightDPadRight 아니요No
Button1Button1 아니요No
Button2Button2 아니요No
Button3Button3 아니요No
Button4Button4 아니요No
Button5Button5 아니요No
Button6Button6 아니요No
Button7Button7 아니요No
Button8Button8 아니요No
Button9Button9 아니요No
Button10Button10 아니요No
Button11Button11 아니요No
Button12Button12 아니요No
Button13Button13 아니요No
Button14Button14 아니요No
Button15Button15 아니요No
Button16Button16 아니요No
FirstGearFirstGear 아니요No
SecondGearSecondGear 아니요No
ThirdGearThirdGear 아니요No
FourthGearFourthGear 아니요No
FifthGearFifthGear 아니요No
SixthGearSixthGear 아니요No
SeventhGearSeventhGear 아니요No
ReverseGearReverseGear 아니요No
Wheel Yes 축 매핑 참조See Axis mapping
제한Throttle Yes
브레이크Brake Yes
부품Clutch 아니요No
수동 브레이크Handbrake 아니요No
MaxWheelAngleMaxWheelAngle Yes 속성 매핑 참조See Properties mapping

ArcadeStickArcadeStick

다음 표에서는 ArcadeStick 하위 키 아래에 필수 및 선택적 하위 키를 나열 합니다.The table below lists the required and optional subkeys under the ArcadeStick subkey:

하위 키Subkey 필수 여부Required? 정보Info
작업 1Action 1 Yes 단추 매핑 참조See Button mapping
작업 2Action2 Yes
작업 3Action3 Yes
작업 4Action4 Yes
Action5Action5 Yes
Action6Action6 Yes
Special1Special1 Yes
Special2Special2 Yes
StickUpStickUp Yes
StickDownStickDown Yes
StickLeftStickLeft Yes
StickRightStickRight Yes

FlightStickFlightStick

다음 표에서는 FlightStick 하위 키 아래에 필수 및 선택적 하위 키를 나열 합니다.The table below lists the required and optional subkeys under the FlightStick subkey:

하위 키Subkey 필수 여부Required? 정보Info
FirePrimaryFirePrimary Yes 단추 매핑 참조See Button mapping
FireSecondaryFireSecondary Yes
되돌릴Roll Yes 축 매핑 참조See Axis mapping
피치Pitch Yes
Yaw Yes
제한Throttle Yes
HatSwitchHatSwitch Yes 스위치 매핑 참조See Switch mapping

UINavigationUINavigation

다음 표에서는 UINavigation 하위 키 아래에 필수 및 선택적 하위 키를 나열 합니다.The table below lists the required and optional subkeys under UINavigation subkey:

하위 키Subkey 필수 여부Required? 정보Info
메뉴Menu Yes 단추 매핑 참조See Button mapping
보기View Yes
동의함Accept Yes
취소Cancel Yes
PrimaryUpPrimaryUp Yes
PrimaryDownPrimaryDown Yes
PrimaryLeftPrimaryLeft Yes
PrimaryRightPrimaryRight Yes
컨텍스트 1Context1 아니요No
컨텍스트 2Context2 아니요No
Context3Context3 아니요No
Context4Context4 아니요No
PageUpPageUp 아니요No
PageDownPageDown 아니요No
PageLeftPageLeft 아니요No
PageRightPageRight 아니요No
ScrollUpScrollUp 아니요No
ScrollDownScrollDown 아니요No
ScrollLeftScrollLeft 아니요No
ScrollRightScrollRight 아니요No
SecondaryUpSecondaryUp 아니요No
SecondaryDownSecondaryDown 아니요No
SecondaryLeftSecondaryLeft 아니요No
SecondaryRightSecondaryRight 아니요No

UI 탐색 컨트롤러와 위의 명령에 대 한 자세한 내용은 ui 탐색 컨트롤러를 참조 하세요.For more information about UI navigation controllers and the above commands, see UI navigation controller.

구성Keys

다음 섹션에서는 게임 패드, RacingWheel, ArcadeStick, FlightStickUINavigation 키 아래의 각 하위 키 내용에 대해 설명 합니다.The following sections explain the contents of each of the subkeys under the Gamepad, RacingWheel, ArcadeStick, FlightStick, and UINavigation keys.

단추 매핑Button mapping

다음 표에서는 단추를 매핑하는 데 필요한 값을 나열 합니다.The table below lists the values that are needed to map a button. 예를 들어 게임 컨트롤러에서 DPadUp 를 누르는 경우 DPadUp 에 대 한 매핑에는 buttonindex 값 (원본 : 단추)이 포함 되어야 합니다.For example, if pressing DPadUp on the game controller, the mapping for DPadUp should contain the ButtonIndex value (Source is Button). 스위치 위치에서 DPadUp 를 매핑해야 하는 경우 DPadUp 매핑은 switchindexswitchindex (Source is switch) 값을 포함 해야 합니다.If DPadUp needs to be mapped from a switch position, then the DPadUp mapping should contain the values SwitchIndex and SwitchPosition (Source is Switch).

원본Source 값 이름Value name 값 형식Value type 필수 여부Required? 값 정보Value info
단추Button ButtonIndexButtonIndex DWORDDWORD Yes RawGameController button 배열의 인덱스입니다.Index in the RawGameController button array.
Axis AxisIndexAxisIndex DWORDDWORD Yes RawGameController axis 배열의 인덱스입니다.Index in the RawGameController axis array.
[Invert DWORDDWORD 아니요No 임계값 백분율DebouncePercent 요인이 적용 되기 전에 축 값이 반전 되어야 함을 나타냅니다.Indicates that the axis value should be inverted before the Threshold Percent and DebouncePercent factors are applied.
ThresholdPercentThresholdPercent DWORDDWORD Yes 눌린 상태와 릴리즈됨 상태 사이에서 매핑된 단추 값이 전환 되는 축 위치를 나타냅니다.Indicates the axis position at which the mapped button value transitions between the pressed and released states. 값의 유효한 범위는 0에서 100입니다.The valid range of values is 0 to 100. 축 값이이 값 보다 크거나 같으면 단추가 눌러져 있는 것으로 간주 됩니다.The button is considered pressed if the axis value is greater than or equal to this value.
DebouncePercentDebouncePercent DWORDDWORD Yes

보고 된 단추 상태를 해제 하는 데 사용 되는 ThresholdPercent 값을 둘러싼 창의 크기를 정의 합니다.Defines the size of a window around the ThresholdPercent value, which is used to debounce the reported button state. 값의 유효한 범위는 0에서 100입니다.The valid range of values is 0 to 100. 단추 상태 전환은 축 값이 debounce 창의 상한 또는 하 한 경계에 교차할 때만 발생할 수 있습니다.Button state transitions can only occur when the axis value crosses the upper or lower boundaries of the debounce window. 예를 들어 ThresholdPercent 가 50이 고 DebouncePercent 가 10 이면 전체 범위 축 값의 45% 및 55%에는 debounce 경계가 생성 됩니다.For example, a ThresholdPercent of 50 and DebouncePercent of 10 results in debounce boundaries at 45% and 55% of the full-range axis values. 축 값이 55% 이상에 도달할 때까지 단추를 눌린 상태로 전환할 수 없으며, 축 값이 45% 또는 아래에 도달할 때까지 다시 릴리스된 상태로 전환할 수 없습니다.The button can't transition to the pressed state until the axis value reaches 55% or above, and it can't transition back to the released state until the axis value reaches 45% or below.

계산 된 debounce 창 경계는 0%에서 100% 사이에 고정.The computed debounce window boundaries are clamped between 0% and 100%. 예를 들어 임계값이 5%이 고 debounce 창이 20% 이면 debounce 창 경계가 0% 및 15%에 발생 합니다.For example, a threshold of 5% and a debounce window of 20% would result in the debounce window boundaries falling at 0% and 15%. 0% 및 100%의 축 값에 대 한 단추 상태는 임계값 및 debounce 값에 관계 없이 항상 각각 해제 된 것으로 보고 됩니다.The button state for axis values of 0% and 100% are always reported as released and pressed, respectively, regardless of the threshold and debounce values.

스위치Switch SwitchIndexSwitchIndex DWORDDWORD Yes RawGameController switch 배열의 인덱스입니다.Index in the RawGameController switch array.
SwitchPositionSwitchPosition REG_SZREG_SZ Yes

매핑된 단추가 눌린 상태임을 보고 하는 스위치 위치를 나타냅니다.Indicates the switch position that will cause the mapped button to report that it's being pressed. 위치 값은 다음 문자열 중 하나일 수 있습니다.The position values can be one of these strings:

  • 위로Up
  • UpRightUpRight
  • 오른쪽Right
  • DownRightDownRight
  • 아래로Down
  • DownLeftDownLeft
  • 왼쪽Left
  • UpLeftUpLeft
IncludeAdjacentIncludeAdjacent DWORDDWORD 아니요No 인접 한 스위치 위치도 매핑된 단추가 눌러져 있음을 보고 함을 나타냅니다.Indicates that adjacent switch positions will also cause the mapped button to report that it's being pressed.

축 매핑Axis mapping

다음 표에서는 축을 매핑하는 데 필요한 값을 나열 합니다.The table below lists the values that are needed to map an axis:

원본Source 값 이름Value name 값 형식Value type 필수 여부Required? 값 정보Value info
단추Button MaxValueButtonIndexMaxValueButtonIndex DWORDDWORD Yes

매핑된 단방향 축 값으로 변환 되는 RawGameController button 배열의 인덱스입니다.Index in the RawGameController button array which gets translated to the mapped unidirectional axis value.

MaxButtonMaxButton AxisValueAxisValue
FALSEFALSE 0.00.0
TRUETRUE 1.01.0
MinValueButtonIndexMinValueButtonIndex DWORDDWORD 아니요No

매핑된 축이 양방향 임을 나타냅니다.Indicates that the mapped axis is bidirectional. Maxbuttonminbutton 의 값은 아래와 같이 단일 양방향 축으로 결합 됩니다.Values of MaxButton and MinButton are combined into a single bidirectional axis as shown below.

MinButtonMinButton MaxButtonMaxButton AxisValueAxisValue
FALSEFALSE FALSEFALSE 0.50.5
FALSEFALSE TRUETRUE 1.01.0
TRUETRUE FALSEFALSE 0.00.0
TRUETRUE TRUETRUE 0.50.5
Axis AxisIndexAxisIndex DWORDDWORD Yes RawGameController axis 배열의 인덱스입니다.Index in the RawGameController axis array.
[Invert DWORDDWORD 아니요No 매핑된 축 값이 반환 되기 전에 반전 되어야 함을 나타냅니다.Indicates that the mapped axis value should be inverted before it's returned.
스위치Switch SwitchIndexSwitchIndex DWORDDWORD Yes RawGameController switch 배열의 인덱스입니다.Index in the RawGameController switch array.
MaxValueSwitchPositionMaxValueSwitchPosition REG_SZREG_SZ Yes

Key, Input, Predict, PredictOnly, NoneOne of the following strings:

  • 위로Up
  • UpRightUpRight
  • 오른쪽Right
  • DownRightDownRight
  • 아래로Down
  • DownLeftDownLeft
  • 왼쪽Left
  • UpLeftUpLeft

매핑된 축 값이 1.0로 보고 되도록 하는 스위치의 위치를 나타냅니다.It indicates the position of the switch that causes the mapped axis value to be reported as 1.0. MaxValueSwitchPosition 의 반대 방향이 0.0으로 처리 됩니다.The opposing direction of MaxValueSwitchPosition is treated as 0.0. 예를 들어 MaxValueSwitchPositionUp인 경우 축 값 번역이 다음과 같이 표시 됩니다.For example, if MaxValueSwitchPosition is Up, the axis value translation is shown below:

스위치 위치Switch position AxisValueAxisValue
위로Up 1.01.0
CenterCenter 0.50.5
아래로Down 0.00.0
IncludeAdjacentIncludeAdjacent DWORDDWORD 아니요No

인접 한 스위치 위치도 매핑된 축이 1.0을 보고 하도록 함을 나타냅니다.Indicates that adjacent switch positions will also cause the mapped axis to report 1.0. 위의 예제에서 Includeadjacent 가 설정 된 경우 축 변환은 다음과 같이 수행 됩니다.In the above example, if IncludeAdjacent is set, then the axis translation is done as follows:

스위치 위치Switch position AxisValueAxisValue
위로Up 1.01.0
UpRightUpRight 1.01.0
UpLeftUpLeft 1.01.0
CenterCenter 0.50.5
아래로Down 0.00.0
DownRightDownRight 0.00.0
DownLeftDownLeft 0.00.0

매핑 전환Switch mapping

스위치 위치는 RawGameController 의 단추 배열에 있는 단추 집합 또는 스위치 배열의 인덱스에서 매핑할 수 있습니다.Switch positions can be mapped either from a set of buttons in the buttons array of the RawGameController or from an index in the switches array. 스위치 위치는 축에서 매핑할 수 없습니다.Switch positions can't be mapped from axes.

원본Source 값 이름Value name 값 형식Value type 값 정보Value info
단추Button ButtonCountButtonCount DWORDDWORD 2, 4 또는 82, 4, or 8
SwitchKindSwitchKind REG_SZREG_SZ TwoWay, FourWay또는 EightWay TwoWay, FourWay, or EightWay
UpButtonIndexUpButtonIndex DWORDDWORD \* Buttonindex values 를 참조 하세요.See \*ButtonIndex values
DownButtonIndexDownButtonIndex DWORDDWORD
왼쪽 ButtonindexLeftButtonIndex DWORDDWORD
RightButtonIndexRightButtonIndex DWORDDWORD
UpRightButtonIndexUpRightButtonIndex DWORDDWORD
DownRightButtonIndexDownRightButtonIndex DWORDDWORD
Down왼쪽 ButtonindexDownLeftButtonIndex DWORDDWORD
UpLeftButtonIndexUpLeftButtonIndex DWORDDWORD
Axis SwitchKindSwitchKind REG_SZREG_SZ TwoWay, FourWay또는 EightWayTwoWay, FourWay, or EightWay
XAxisIndexXAxisIndex DWORDDWORD YAxisIndex 는 항상 제공 됩니다.YAxisIndex is always present. XAxisIndexSwitchkindFourWay 또는 EightWay경우에만 존재 합니다.XAxisIndex is only present when SwitchKind is FourWay or EightWay.
YAxisIndexYAxisIndex DWORDDWORD
XDeadZonePercentXDeadZonePercent DWORDDWORD 축의 가운데 위치 주위의 데드 영역 크기를 표시 합니다.Indicate the size of the dead zone around the center position of the axes.
YDeadZonePercentYDeadZonePercent DWORDDWORD
XDebouncePercentXDebouncePercent DWORDDWORD 보고 된 스위치 상태를 해제 하는 데 사용 되는 낮은 비활성 영역 제한 주위의 창 크기를 정의 합니다.Define the size of the windows around the upper and lower dead zone limits, which are used to de-bounce the reported switch state.
YDebouncePercentYDebouncePercent DWORDDWORD
XInvertXInvert DWORDDWORD 데드 영역 및 debounce 창 계산이 적용 되기 전에 해당 축 값이 반전 되도록 지정 합니다.Indicate that the corresponding axis values should be inverted before the dead zone and debounce window calculations are applied.
YInvertYInvert DWORDDWORD
스위치Switch SwitchIndexSwitchIndex DWORDDWORD RawGameController switch 배열의 인덱스입니다.Index in the RawGameController switch array.
[Invert DWORDDWORD 스위치가 기본 시계 방향 대신 시계 반대 방향으로 해당 위치를 보고 함을 나타냅니다.Indicates that the switch reports its positions in a counter-clockwise order, rather than the default clockwise order.
PositionBiasPositionBias DWORDDWORD

지정 된 양만큼 위치를 보고 하는 시작점을 이동 합니다.Shifts the starting point of how positions are reported by the specified amount. Positionbias 는 항상 원래 시작 지점에서 시계 방향으로 계산 되며 값의 순서가 반전 되기 전에 적용 됩니다.PositionBias is always counted clockwise from the original starting point, and is applied before the order of values is reversed.

예를 들어 귀찮고 로 시작 하는 위치를 보고 하는 스위치는 반전 플래그를 설정 하 고 positionbias 를 5로 지정 하 여 정규화 할 수 있습니다.For example, a switch that reports positions starting with DownRight in counter-clockwise order can be normalized by setting the Invert flag and specifying a PositionBias of 5:

위치Position 보고 된 값Reported value PositionBias 및 반전 플래그 후After PositionBias and Invert flags
DownRightDownRight 00 33
오른쪽Right 11 22
UpRightUpRight 22 11
위로Up 33 00
UpLeftUpLeft 44 77
왼쪽Left 55 66
DownLeftDownLeft 66 55
아래로Down 77 44

* ButtonIndex 값*ButtonIndex values

*ButtonIndex values RawGameController의 단추 배열로 인덱싱합니다.*ButtonIndex values index into the RawGameController's button array:

ButtonCountButtonCount SwitchKindSwitchKind RequiredMappingsRequiredMappings
22 TwoWayTwoWay
  • UpButtonIndexUpButtonIndex
  • DownButtonIndexDownButtonIndex
44 FourWayFourWay
  • UpButtonIndexUpButtonIndex
  • DownButtonIndexDownButtonIndex
  • 왼쪽 ButtonindexLeftButtonIndex
  • RightButtonIndexRightButtonIndex
44 EightWayEightWay
  • UpButtonIndexUpButtonIndex
  • DownButtonIndexDownButtonIndex
  • 왼쪽 ButtonindexLeftButtonIndex
  • RightButtonIndexRightButtonIndex
88 EightWayEightWay
  • UpButtonIndexUpButtonIndex
  • DownButtonIndexDownButtonIndex
  • 왼쪽 ButtonindexLeftButtonIndex
  • RightButtonIndexRightButtonIndex
  • UpRightButtonIndexUpRightButtonIndex
  • DownRightButtonIndexDownRightButtonIndex
  • Down왼쪽 ButtonindexDownLeftButtonIndex
  • UpLeftButtonIndexUpLeftButtonIndex

속성 매핑Properties mapping

이러한 값은 서로 다른 매핑 형식에 대 한 정적 매핑 값입니다.These are static mapping values for different mapping types.

매핑Mapping 값 이름Value name 값 형식Value type 값 정보Value info
RacingWheelRacingWheel MaxWheelAngleMaxWheelAngle DWORDDWORD 휠이 단일 방향으로 지 원하는 최대 실제 휠 각도를 나타냅니다.Indicates the maximum physical wheel angle supported by the wheel in a single direction. 예를 들어-90도에서 90 각도로 회전 가능한 바퀴는 90를 지정 합니다.For example, a wheel with a possible rotation of -90 degrees to 90 degrees would specify 90.

레이블Labels

레이블은 장치 루트 아래의 레이블 키 아래에 있어야 합니다.Labels should be present under the Labels key under the device root. 레이블에 는 세 개의 하위 키 ( 단추, 스위치)가 있을 수 있습니다.Labels can have 3 subkeys: Buttons, Axes, and Switches.

단추 레이블Button labels

단추 키는 RawGameController의 buttons 배열의 각 단추 위치를 문자열에 매핑합니다.The Buttons key maps each of the button positions in the RawGameController's buttons array to a string. 각 문자열은 내부적으로 해당 GameControllerButtonLabel 열거형 값에 매핑됩니다.Each string is mapped internally to the corresponding GameControllerButtonLabel enum value. 예를 들어, 게임 패드에 단추가 10 개 있는 경우 RawGameController 가 단추를 구문 분석 하 고 단추 보고서에 표시 하는 순서는 다음과 같습니다.For example, if a gamepad has ten buttons and the order in which the RawGameController parses out the buttons and presents them in the buttons report is like this:

Menu,               // Index 0
View,               // Index 1
LeftStickButton,    // Index 2
RightStickButton,   // Index 3
LetterA,            // Index 4
LetterB,            // Index 5
LetterX,            // Index 6
LetterY,            // Index 7
LeftBumper,         // Index 8
RightBumper         // Index 9

레이블은 단추 키 아래에 다음 순서로 표시 되어야 합니다.The labels should appear in this order under the Buttons key:

이름Name 값 (형식: REG_SZ)Value (type: REG_SZ)
Button0Button0 메뉴Menu
Button1Button1 보기View
Button2Button2 LeftStickButtonLeftStickButton
Button3Button3 RightStickButtonRightStickButton
Button4Button4 LetterALetterA
Button5Button5 LetterBLetterB
Button6Button6 LetterXLetterX
Button7Button7 LetterYLetterY
Button8Button8 왼쪽 범퍼LeftBumper
Button9Button9 RightBumperRightBumper

축 레이블Axis labels

키는 RawGameController의 축 배열에 있는 각 축 위치를 단추 레이블과 마찬가지로 GameControllerButtonLabel 열거형 에 나열 된 레이블 중 하나에 매핑합니다.The Axes key will map each of the axis positions in the RawGameController's axis array to one of the labels listed in GameControllerButtonLabel Enum just like the button labels. 단추 레이블의 예제를 참조 하세요.See the example in Button labels.

레이블 전환Switch labels

스위치 키 맵은 스위치 위치를 레이블로 바꿉니다 .The Switches key maps switch positions to labels. 값은이 명명 규칙을 따릅니다. 즉, 인덱스가 RawGameController의 스위치 배열에서 x 인 스위치의 위치에 레이블을 지정 하려면 스위치 하위 키 아래에 다음 값을 추가 합니다.The values follow this naming convention: to label a position of a switch, whose index is x in the RawGameController's switch array, add these values under the Switches subkey:

  • SwitchxUpSwitchxUp
  • SwitchxUpRightSwitchxUpRight
  • SwitchxRightSwitchxRight
  • SwitchxDownRightSwitchxDownRight
  • SwitchxDownSwitchxDown
  • SwitchxDownLeftSwitchxDownLeft
  • SwitchxUpLeftSwitchxUpLeft
  • SwitchxLeftSwitchxLeft

다음 표에서는 RawGameController의 인덱스 0에 표시 되는 4 방향 스위치의 스위치 위치에 대 한 예제 레이블 집합을 보여 줍니다.The following table shows an example set of labels for switch positions of a 4-way switch which shows up at index 0 in the RawGameController:

이름Name 값 (형식: REG_SZ)Value (type: REG_SZ)
Switch0UpSwitch0Up XboxUpXboxUp
Switch0RightSwitch0Right XboxRightXboxRight
Switch0DownSwitch0Down XboxDownXboxDown
Switch0LeftSwitch0Left XboxLeftXboxLeft

예제 레지스트리 파일Example registry file

이러한 매핑과 값이 함께 표시 되는 방법을 보여 주기 위해 제네릭 RacingWheel에 대 한 예제 레지스트리 파일은 다음과 같습니다.To show how all of these mappings and values come together, here is an example registry file for a generic RacingWheel:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004]
"Description" = "Example Wheel Device"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\Labels\Buttons]
"Button0" = "LetterA"
"Button1" = "LetterB"
"Button2" = "LetterX"
"Button3" = "LetterY"
"Button6" = "Menu"
"Button7" = "View"
"Button8" = "RightStickButton"
"Button9" = "LeftStickButton"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\Labels\Switches]
"Switch0Down" = "Down"
"Switch0Left" = "Left"
"Switch0Right" = "Right"
"Switch0Up" = "Up"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel]
"MaxWheelAngle" = dword:000001c2

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Brake]
"AxisIndex" = dword:00000002
"Invert" = dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Button1]
"ButtonIndex" = dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Button2]
"ButtonIndex" = dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Button3]
"ButtonIndex" = dword:00000002

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Button4]
"ButtonIndex" = dword:00000003

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Button5]
"ButtonIndex" = dword:00000009

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Button6]
"ButtonIndex" = dword:00000008

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Button7]
"ButtonIndex" = dword:00000007

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Button8]
"ButtonIndex" = dword:00000006

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Clutch]
"AxisIndex" = dword:00000003
"Invert" = dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\DPadDown]
"IncludeAdjacent" = dword:00000001
"SwitchIndex" = dword:00000000
"SwitchPosition" = "Down"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\DPadLeft]
"IncludeAdjacent" = dword:00000001
"SwitchIndex" = dword:00000000
"SwitchPosition" = "Left"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\DPadRight]
"IncludeAdjacent" = dword:00000001
"SwitchIndex" = dword:00000000
"SwitchPosition" = "Right"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\DPadUp]
"IncludeAdjacent" = dword:00000001
"SwitchIndex" = dword:00000000
"SwitchPosition" = "Up"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\FifthGear]
"ButtonIndex" = dword:00000010

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\FirstGear]
"ButtonIndex" = dword:0000000c

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\FourthGear]
"ButtonIndex" = dword:0000000f

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\NextGear]
"ButtonIndex" = dword:00000004

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\PreviousGear]
"ButtonIndex" = dword:00000005

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\ReverseGear]
"ButtonIndex" = dword:0000000b

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\SecondGear]
"ButtonIndex" = dword:0000000d

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\SixthGear]
"ButtonIndex" = dword:00000011

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\ThirdGear]
"ButtonIndex" = dword:0000000e

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Throttle]
"AxisIndex" = dword:00000001
"Invert" = dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Wheel]
"AxisIndex" = dword:00000000
"Invert" = dword:00000000

참고 항목See also