遊戲控制器的登錄資料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.

Windows.Gaming.Input namespace 可讓獨立硬體廠商 (IHV) 將資料新增至 PC 的登錄,讓其裝置顯示成 GamepadsRacingWheelsArcadeSticksFlightSticksUINavigationControllers (視情況)。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

系統將從登錄中的這個位置讀取裝置與廠商識別碼 (VID) VVVV、產品識別碼 (PID) PPPP、使用量頁面 UUUU 及使用量識別碼 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 類型Type 必要項?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

下表列出 [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
LeftShoulderLeftShoulder Yes
RightShoulderRightShoulder Yes
LeftThumbstickButtonLeftThumbstickButton Yes
RightThumbstickButtonRightThumbstickButton Yes
DPadUpDPadUp Yes
DPadDownDPadDown Yes
DPadLeftDPadLeft Yes
DPadRightDPadRight Yes
Paddle1Paddle1 No
Paddle2Paddle2 No
Paddle3Paddle3 No
Paddle4Paddle4 No
LeftTriggerLeftTrigger Yes 請參閱軸對應See Axis mapping
RightTriggerRightTrigger Yes
LeftThumbstickXLeftThumbstickX Yes
LeftThumbstickYLeftThumbstickY Yes
RightThumbstickXRightThumbstickX Yes
RightThumbstickYRightThumbstickY Yes

注意

如果您將遊戲控制器新增成支援的 Gamepad,強烈建議您也將它新增成支援的 UINavigationControllerIf 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
WheelWheel Yes 請參閱軸對應See Axis mapping
節流Throttle Yes
BrakeBrake Yes
ClutchClutch No
HandbrakeHandbrake No
MaxWheelAngleMaxWheelAngle Yes 請參閱屬性對應See Properties mapping

ArcadeStickArcadeStick

下表列出 [ArcadeStick]**** 子機碼下方的必要與選擇性子機碼:The table below lists the required and optional subkeys under the ArcadeStick subkey:

子機碼Subkey 必要?Required? 資訊Info
Action 1Action 1 Yes 請參閱按鈕對應See Button mapping
Action2Action2 Yes
Action3Action3 Yes
Action4Action4 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
RollRoll Yes 請參閱軸對應See Axis mapping
音調Pitch Yes
YawYaw 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
Context1Context1 No
Context2Context2 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

以下幾節說明 [Gamepad]****、[RacingWheel]****、[ArcadeStick]****、[FlightStick]**** 及 [UINavigation]**** 機碼下方每個子機碼的內容。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]**** 值 ([Source]**** 為 [Button]****)。For example, if pressing DPadUp on the game controller, the mapping for DPadUp should contain the ButtonIndex value (Source is Button). 如果 [DPadUp]**** 必須從切換位置對應,[DPadUp]**** 對應則應包含 [SwitchIndex]**** 與 [SwitchPosition]**** 值 ([Source]**** 為 [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 按鈕陣列中的索引。Index in the RawGameController button array.
Axis AxisIndexAxisIndex DWORDDWORD Yes RawGameController 軸陣列中的索引。Index in the RawGameController axis array.
InvertInvert DWORDDWORD No 表示在套用 Threshold PercentDebouncePercent 因素前應反轉軸值。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. 只有在軸值超過防反彈視窗的右界限或下界限時,才會發生按鈕值轉換。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%。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.

計算出的反防彈視窗界限限制在 0% 到 100% 之間。The computed debounce window boundaries are clamped between 0% and 100%. 例如,5% 的閾值與 20% 的反防彈視窗,會造成防反彈視窗界限為 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% 的按鈕狀態各自回報為放開或按下,無論閾值與防反彈值為何。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 切換陣列中的索引。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:

  • UpUp
  • UpRightUpRight
  • RightRight
  • DownRightDownRight
  • DownDown
  • DownLeftDownLeft
  • LeftLeft
  • 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 按鈕中的索引,會轉譯成對應的單向軸值。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 軸陣列中的索引。Index in the RawGameController axis array.
InvertInvert DWORDDWORD No 表示對應的軸值在傳回之前應先反轉。Indicates that the mapped axis value should be inverted before it's returned.
交換器Switch SwitchIndexSwitchIndex DWORDDWORD Yes RawGameController 切換陣列中的索引。Index in the RawGameController switch array.
MaxValueSwitchPositionMaxValueSwitchPosition REG_SZREG_SZ Yes

下列其中一個字串:One of the following strings:

  • UpUp
  • UpRightUpRight
  • RightRight
  • DownRightDownRight
  • DownDown
  • DownLeftDownLeft
  • LeftLeft
  • 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
UpUp 1.01.0
CenterCenter 0.50.5
DownDown 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
UpUp 1.01.0
UpRightUpRight 1.01.0
UpLeftUpLeft 1.01.0
CenterCenter 0.50.5
DownDown 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 TwoWayFourWayEightWay TwoWay, FourWay, or EightWay
UpButtonIndexUpButtonIndex DWORDDWORD 請參閱 \*ButtonIndex 值See \*ButtonIndex values
DownButtonIndexDownButtonIndex DWORDDWORD
LeftButtonIndexLeftButtonIndex DWORDDWORD
RightButtonIndexRightButtonIndex DWORDDWORD
UpRightButtonIndexUpRightButtonIndex DWORDDWORD
DownRightButtonIndexDownRightButtonIndex DWORDDWORD
DownLeftButtonIndexDownLeftButtonIndex DWORDDWORD
UpLeftButtonIndexUpLeftButtonIndex DWORDDWORD
Axis SwitchKindSwitchKind REG_SZREG_SZ TwoWayFourWayEightWayTwoWay, FourWay, or EightWay
XAxisIndexXAxisIndex DWORDDWORD YAxisIndex 一律會出現。YAxisIndex is always present. XAxisIndex 只會在 SwitchKindFourWayEightWay 時出現。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 表示在套用靜止區域與防反彈視窗計算之前應先反轉對應的軸值。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 切換陣列中的索引。Index in the RawGameController switch array.
InvertInvert 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.

例如,可透過設定 Invert 旗標並指定 PositionBias 為 5,將從 DownRight 開始以逆時針順序回報位置的切換標準化: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 與 Invert 旗標之後After PositionBias and Invert flags
DownRightDownRight 00 33
RightRight 11 22
UpRightUpRight 22 11
UpUp 33 00
UpLeftUpLeft 44 77
LeftLeft 55 66
DownLeftDownLeft 66 55
DownDown 77 44

*ButtonIndex 值*ButtonIndex values

*ButtonIndex RawGameController的按鈕陣列中的值索引:*ButtonIndex values index into the RawGameController's button array:

ButtonCountButtonCount SwitchKindSwitchKind RequiredMappingsRequiredMappings
22 TwoWayTwoWay
  • UpButtonIndexUpButtonIndex
  • DownButtonIndexDownButtonIndex
44 FourWayFourWay
  • UpButtonIndexUpButtonIndex
  • DownButtonIndexDownButtonIndex
  • LeftButtonIndexLeftButtonIndex
  • RightButtonIndexRightButtonIndex
44 EightWayEightWay
  • UpButtonIndexUpButtonIndex
  • DownButtonIndexDownButtonIndex
  • LeftButtonIndexLeftButtonIndex
  • RightButtonIndexRightButtonIndex
88 EightWayEightWay
  • UpButtonIndexUpButtonIndex
  • DownButtonIndexDownButtonIndex
  • LeftButtonIndexLeftButtonIndex
  • RightButtonIndexRightButtonIndex
  • UpRightButtonIndexUpRightButtonIndex
  • DownRightButtonIndexDownRightButtonIndex
  • DownLeftButtonIndexDownLeftButtonIndex
  • 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]**** 鍵值之下。Labels should be present under the Labels key under the device root. [Labels]**** 會有 3 個子機碼:[Buttons]****、[Axes]**** 及 [Switches]****。Labels can have 3 subkeys: Buttons, Axes, and Switches.

按鈕標籤Button labels

[Buttons]**** 機碼會將 [RawGameController]**** 其按鈕陣列中的每個按鈕位置對應至字串。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. 例如,如果遊戲台上有十個按鈕,且 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

標籤應在 [Buttons]**** 機碼下方以此順序顯示: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 LeftBumperLeftBumper
Button9Button9 RightBumperRightBumper

軸標籤Axis labels

[Axes]**** 機碼會將 [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

[Switches]**** 機碼會將切換位置對應至標籤。The Switches key maps switch positions to labels. 這些值遵循此命令慣例:若要將其索引在 [RawGameController]**** 的切換陣列中為 [x]** 的切換位置設定標籤,則在 [Switches]**** 子機碼下方新增這些值: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

下表顯示 4 向切換其切換位置的一組範例標籤,該切換會在 [RawGameController]**** 的索引 0 處顯示: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