Dati del Registro di sistema per periferiche di giocoRegistry data for game controllers

Nota

Questo argomento è destinato ai produttori di controller di gioco compatibili con Windows 10 e non si applica alla maggior parte degli sviluppatori.This topic is meant for manufacturers of Windows 10-compatible game controllers, and doesn't apply to the majority of developers.

Lo spazio dei nomi Windows. Gaming. input consente ai fornitori di hardware indipendenti (IHV) di aggiungere dati al registro di sistema del PC, consentendo la visualizzazione dei dispositivi come Gamepad, RacingWheels, ArcadeSticks, FlightStickse UINavigationControllers in base alle esigenze.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. Tutti i IHV devono aggiungere i dati per i controller compatibili.All IHVs should add this data for their compatible controllers. In questo modo, tutti i giochi UWP (e tutti i giochi desktop che usano l'API WinRT) potranno supportare il controller di gioco.By doing this, all UWP games (and any desktop games that use the WinRT API) will be able to support your game controller.

Schema di mappingMapping scheme

I mapping per un dispositivo con ID fornitore (VID) vvvv, ID prodotto (PID) pppp, pagina di utilizzo uuuue ID utilizzo xxxxverranno letti da questo percorso nel registro di sistema: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

La tabella seguente illustra i valori previsti nel percorso radice del dispositivo:The table below explains the expected values under the device root location:

NomeName TypeType Obbligatorio?Required? InfoInfo
DisabledDisabled DWORDDWORD NoNo

Indica che questo particolare dispositivo deve essere disabilitato.Indicates that this particular device should be disabled.

  • 0: il dispositivo non è disabilitato.0: Device is not disabled.
  • 1: il dispositivo è disabilitato.1: Device is disabled.
DescrizioneDescription REG_SZREG_SZ NoNo Breve descrizione del dispositivo.A short description of the device.

Il programma di installazione del dispositivo deve aggiungere questi dati al registro di sistema (tramite il programma di installazione o un file inf).Your device installer should add this data to the registry (either via setup or an INF file).

Le sottochiavi sotto il percorso radice del dispositivo sono descritte in dettaglio nelle sezioni seguenti.Subkeys under the device root location are detailed in the following sections.

Game padGamepad

La tabella seguente elenca le sottochiavi obbligatorie e facoltative nella sottochiave del Gamepad :The table below lists the required and optional subkeys under the Gamepad subkey:

SottochiaveSubkey Necessaria?Required? InfoInfo
MenuMenu Yes Vedere mapping dei pulsantiSee Button mapping
VisualizzazioneView Yes
AA Yes
BB Yes
XX Yes
SY Yes
LeftShoulderLeftShoulder Yes
RightShoulderRightShoulder Yes
LeftThumbstickButtonLeftThumbstickButton Yes
RightThumbstickButtonRightThumbstickButton Yes
DPadUpDPadUp Yes
DPadDownDPadDown Yes
DPadLeftDPadLeft Yes
DPadRightDPadRight Yes
Paddle1Paddle1 NoNo
Paddle2Paddle2 NoNo
Paddle3Paddle3 NoNo
Paddle4Paddle4 NoNo
LeftTriggerLeftTrigger Yes Vedere mapping degli assiSee Axis mapping
RightTriggerRightTrigger Yes
LeftThumbstickXLeftThumbstickX Yes
LeftThumbstickYLeftThumbstickY Yes
RightThumbstickXRightThumbstickX Yes
RightThumbstickYRightThumbstickY Yes

Nota

Se si aggiunge il controller di gioco come Gamepadsupportato, è consigliabile aggiungerlo anche come UINavigationControllersupportato.If you add your game controller as a supported Gamepad, we highly recommend that you also add it as a supported UINavigationController.

RacingWheelRacingWheel

La tabella seguente elenca le sottochiavi obbligatorie e facoltative nella sottochiave RacingWheel :The table below lists the required and optional subkeys under the RacingWheel subkey:

SottochiaveSubkey Necessaria?Required? InfoInfo
PreviousGearPreviousGear Yes Vedere mapping dei pulsantiSee Button mapping
NextGearNextGear Yes
DPadUpDPadUp NoNo
DPadDownDPadDown NoNo
DPadLeftDPadLeft NoNo
DPadRightDPadRight NoNo
Button1Button1 NoNo
Button2Button2 NoNo
Button3Button3 NoNo
Button4Button4 NoNo
Button5Button5 NoNo
Button6Button6 NoNo
Button7Button7 NoNo
Button8Button8 NoNo
Button9Button9 NoNo
Button10Button10 NoNo
Button11Button11 NoNo
Button12Button12 NoNo
Button13Button13 NoNo
Button14Button14 NoNo
Button15Button15 NoNo
Button16Button16 NoNo
FirstGearFirstGear NoNo
SecondGearSecondGear NoNo
ThirdGearThirdGear NoNo
FourthGearFourthGear NoNo
FifthGearFifthGear NoNo
SixthGearSixthGear NoNo
SeventhGearSeventhGear NoNo
ReverseGearReverseGear NoNo
Selettore circolareWheel Yes Vedere mapping degli assiSee Axis mapping
LimitazioneThrottle Yes
FrenoBrake Yes
PochetteClutch NoNo
HandBrakeHandbrake NoNo
MaxWheelAngleMaxWheelAngle Yes Vedere mapping delle proprietàSee Properties mapping

ArcadeStickArcadeStick

La tabella seguente elenca le sottochiavi obbligatorie e facoltative nella sottochiave ArcadeStick :The table below lists the required and optional subkeys under the ArcadeStick subkey:

SottochiaveSubkey Necessaria?Required? InfoInfo
Azione 1Action 1 Yes Vedere mapping dei pulsantiSee Button mapping
Action2Action2 Yes
Action3Action3 Yes
Action4Action4 Yes
Action5Action5 Yes
Action6Action6 Yes
Special1Special1 Yes
Special2Special2 Yes
RapinaStickUp Yes
StickDownStickDown Yes
StickLeftStickLeft Yes
StickRightStickRight Yes

FlightStickFlightStick

La tabella seguente elenca le sottochiavi obbligatorie e facoltative nella sottochiave FlightStick :The table below lists the required and optional subkeys under the FlightStick subkey:

SottochiaveSubkey Necessaria?Required? InfoInfo
FirePrimaryFirePrimary Yes Vedere mapping dei pulsantiSee Button mapping
FireSecondaryFireSecondary Yes
Eseguire il rollbackRoll Yes Vedere mapping degli assiSee Axis mapping
TonalitàPitch Yes
Rotazione y specificatiYaw Yes
LimitazioneThrottle Yes
Hat-switchHatSwitch Yes Vedere Cambia mappingSee Switch mapping

UINavigationUINavigation

La tabella seguente elenca le sottochiavi obbligatorie e facoltative nella sottochiave UINavigation :The table below lists the required and optional subkeys under UINavigation subkey:

SottochiaveSubkey Necessaria?Required? InfoInfo
MenuMenu Yes Vedere mapping dei pulsantiSee Button mapping
VisualizzazioneView Yes
AccettaAccept Yes
AnnullaCancel Yes
PrimaryUpPrimaryUp Yes
PrimaryDownPrimaryDown Yes
PrimaryLeftPrimaryLeft Yes
PrimaryRightPrimaryRight Yes
Contesto1Context1 NoNo
Contesto2Context2 NoNo
Contesto3Context3 NoNo
Contesto4Context4 NoNo
PGSUPageUp NoNo
PGGIÙPageDown NoNo
PageLeftPageLeft NoNo
PageRightPageRight NoNo
Scorr SuScrollUp NoNo
Scorr GiùScrollDown NoNo
Scorr SxScrollLeft NoNo
Scorr DxScrollRight NoNo
SecondaryUpSecondaryUp NoNo
SecondaryDownSecondaryDown NoNo
SecondaryLeftSecondaryLeft NoNo
SecondaryRightSecondaryRight NoNo

Per ulteriori informazioni sui controller di spostamento dell'interfaccia utente e sui comandi precedenti, vedere UI Navigation Controller.For more information about UI navigation controllers and the above commands, see UI navigation controller.

ChiaviKeys

Le sezioni seguenti illustrano il contenuto di ogni sottochiave nelle chiavi di GamePad, RacingWheel, ArcadeStick, FlightSticke UINavigation .The following sections explain the contents of each of the subkeys under the Gamepad, RacingWheel, ArcadeStick, FlightStick, and UINavigation keys.

Mapping dei pulsantiButton mapping

Nella tabella seguente sono elencati i valori necessari per eseguire il mapping di un pulsante.The table below lists the values that are needed to map a button. Ad esempio, se si preme DPadUp sul controller del gioco, il mapping di DPadUp deve contenere il valore ButtonIndex (il pulsante****source is).For example, if pressing DPadUp on the game controller, the mapping for DPadUp should contain the ButtonIndex value (Source is Button). Se è necessario eseguire il mapping di DPadUp da una posizione switch, il mapping DPadUp deve contenere i valori SwitchIndex e 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 (Sorgente)Source Nome del valoreValue name Tipo di valoreValue type Necessaria?Required? Informazioni sul valoreValue info
PulsanteButton ButtonIndexButtonIndex DWORDDWORD Yes Indice nella matrice di pulsanti RawGameController .Index in the RawGameController button array.
AsseAxis AxisIndexAxisIndex DWORDDWORD Yes Indice nella matrice dell'asse RawGameController .Index in the RawGameController axis array.
InvertiInvert DWORDDWORD NoNo Indica che il valore dell'asse deve essere invertito prima dell'applicazione della soglia percentuale e dei fattori DebouncePercent .Indicates that the axis value should be inverted before the Threshold Percent and DebouncePercent factors are applied.
ThresholdPercentThresholdPercent DWORDDWORD Yes Indica la posizione dell'asse in corrispondenza della quale il valore del pulsante mappato passa tra gli stati premuto e rilasciato.Indicates the axis position at which the mapped button value transitions between the pressed and released states. L'intervallo di valori valido è compreso tra 0 e 100.The valid range of values is 0 to 100. Il pulsante viene considerato premuto se il valore dell'asse è maggiore o uguale a questo valore.The button is considered pressed if the axis value is greater than or equal to this value.
DebouncePercentDebouncePercent DWORDDWORD Yes

Definisce la dimensione di una finestra intorno al valore ThresholdPercent , che viene usato per debounce lo stato del pulsante segnalato.Defines the size of a window around the ThresholdPercent value, which is used to debounce the reported button state. L'intervallo di valori valido è compreso tra 0 e 100.The valid range of values is 0 to 100. Le transizioni di stato del pulsante possono verificarsi solo quando il valore dell'asse supera i limiti superiore o inferiore della finestra di debounce.Button state transitions can only occur when the axis value crosses the upper or lower boundaries of the debounce window. Ad esempio, un ThresholdPercent di 50 e DebouncePercent di 10 genera limiti di debounce a 45% e 55% dei valori dell'asse full-range.For example, a ThresholdPercent of 50 and DebouncePercent of 10 results in debounce boundaries at 45% and 55% of the full-range axis values. Il pulsante non può passare allo stato premuto finché il valore dell'asse raggiunge il 55% o versione successiva e non è possibile eseguire la transizione allo stato rilasciato finché il valore dell'asse non raggiunge il 45% o sotto.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.

I limiti della finestra di debounce calcolata vengono fissati tra 0% e 100%.The computed debounce window boundaries are clamped between 0% and 100%. Ad esempio, una soglia del 5% e una finestra di debounce del 20% comporteranno un calo dei limiti della finestra di derimbalzo a 0% e 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%. Lo stato del pulsante per i valori dell'asse 0% e 100% viene sempre segnalato come rilasciato e premuto, rispettivamente, indipendentemente dalla soglia e dai valori di 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.

CommutatoreSwitch SwitchIndexSwitchIndex DWORDDWORD Yes Indice nella matrice di opzioni RawGameController .Index in the RawGameController switch array.
SwitchPositionSwitchPosition REG_SZREG_SZ Yes

Indica la posizione del commutatore che determinerà il pulsante mappato per segnalare che è in corso la pressione.Indicates the switch position that will cause the mapped button to report that it's being pressed. I valori di posizione possono essere una delle seguenti stringhe:The position values can be one of these strings:

  • SuUp
  • UpRightUpRight
  • DestraRight
  • DownRightDownRight
  • GiùDown
  • DownLeftDownLeft
  • SinistraLeft
  • UpLeftUpLeft
IncludeAdjacentIncludeAdjacent DWORDDWORD NoNo Indica che le posizioni del commutatore adiacenti provocheranno anche il pulsante mappato per segnalare che è in corso la pressione.Indicates that adjacent switch positions will also cause the mapped button to report that it's being pressed.

Mapping assiAxis mapping

Nella tabella seguente sono elencati i valori necessari per eseguire il mapping di un asse:The table below lists the values that are needed to map an axis:

Source (Sorgente)Source Nome del valoreValue name Tipo di valoreValue type Necessaria?Required? Informazioni sul valoreValue info
PulsanteButton MaxValueButtonIndexMaxValueButtonIndex DWORDDWORD Yes

Indice nella matrice di pulsanti RawGameController che viene convertito nel valore dell'asse unidirezionale mappato.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 NoNo

Indica che l'asse mappato è bidirezionale.Indicates that the mapped axis is bidirectional. I valori di MaxButton e MinButton vengono combinati in un singolo asse bidirezionale, come illustrato di seguito.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
AsseAxis AxisIndexAxisIndex DWORDDWORD Yes Indice nella matrice dell'asse RawGameController .Index in the RawGameController axis array.
InvertiInvert DWORDDWORD NoNo Indica che il valore dell'asse mappato deve essere invertito prima di essere restituito.Indicates that the mapped axis value should be inverted before it's returned.
CommutatoreSwitch SwitchIndexSwitchIndex DWORDDWORD Yes Indice nella matrice di opzioni RawGameController .Index in the RawGameController switch array.
MaxValueSwitchPositionMaxValueSwitchPosition REG_SZREG_SZ Yes

Una delle stringhe seguenti:One of the following strings:

  • SuUp
  • UpRightUpRight
  • DestraRight
  • DownRightDownRight
  • GiùDown
  • DownLeftDownLeft
  • SinistraLeft
  • UpLeftUpLeft

Indica la posizione dell'opzione che fa sì che il valore dell'asse mappato venga segnalato come 1,0.It indicates the position of the switch that causes the mapped axis value to be reported as 1.0. La direzione opposta di MaxValueSwitchPosition viene considerata come 0,0.The opposing direction of MaxValueSwitchPosition is treated as 0.0. Se, ad esempio, MaxValueSwitchPosition è attivo, la conversione del valore dell'asse viene mostrata di seguito:For example, if MaxValueSwitchPosition is Up, the axis value translation is shown below:

Cambia posizioneSwitch position AxisValueAxisValue
SuUp 1.01.0
CenterCenter 0,50.5
GiùDown 0,00.0
IncludeAdjacentIncludeAdjacent DWORDDWORD NoNo

Indica che le posizioni del commutire adiacenti comporteranno anche l'asse mappato al report 1,0.Indicates that adjacent switch positions will also cause the mapped axis to report 1.0. Nell'esempio precedente, se IncludeAdjacent è impostato, la conversione dell'asse viene eseguita come indicato di seguito:In the above example, if IncludeAdjacent is set, then the axis translation is done as follows:

Cambia posizioneSwitch position AxisValueAxisValue
SuUp 1.01.0
UpRightUpRight 1.01.0
UpLeftUpLeft 1.01.0
CenterCenter 0,50.5
GiùDown 0,00.0
DownRightDownRight 0,00.0
DownLeftDownLeft 0,00.0

Cambia mappingSwitch mapping

È possibile eseguire il mapping delle posizioni del commutatore da un set di pulsanti nella matrice di pulsanti di RawGameController o da un indice nella matrice di opzioni.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. Non è possibile eseguire il mapping delle posizioni di commutazione dagli assi.Switch positions can't be mapped from axes.

Source (Sorgente)Source Nome del valoreValue name Tipo di valoreValue type Informazioni sul valoreValue info
PulsanteButton ButtonCountButtonCount DWORDDWORD 2, 4 o 82, 4, or 8
SwitchKindSwitchKind REG_SZREG_SZ TwoWay, FourWayo EightWay TwoWay, FourWay, or EightWay
UpButtonIndexUpButtonIndex DWORDDWORD Vedere \* valori ButtonIndexSee \*ButtonIndex values
DownButtonIndexDownButtonIndex DWORDDWORD
LeftButtonIndexLeftButtonIndex DWORDDWORD
RightButtonIndexRightButtonIndex DWORDDWORD
UpRightButtonIndexUpRightButtonIndex DWORDDWORD
DownRightButtonIndexDownRightButtonIndex DWORDDWORD
DownLeftButtonIndexDownLeftButtonIndex DWORDDWORD
UpLeftButtonIndexUpLeftButtonIndex DWORDDWORD
AsseAxis SwitchKindSwitchKind REG_SZREG_SZ TwoWay, FourWayo EightWayTwoWay, FourWay, or EightWay
XAxisIndexXAxisIndex DWORDDWORD YAxisIndex è sempre presente.YAxisIndex is always present. XAxisIndex è presente solo se SwitchKind è FourWay o EightWay.XAxisIndex is only present when SwitchKind is FourWay or EightWay.
YAxisIndexYAxisIndex DWORDDWORD
XDeadZonePercentXDeadZonePercent DWORDDWORD Indica la dimensione della zona non recapitata attorno alla posizione centrale degli assi.Indicate the size of the dead zone around the center position of the axes.
YDeadZonePercentYDeadZonePercent DWORDDWORD
XDebouncePercentXDebouncePercent DWORDDWORD Definire le dimensioni delle finestre attorno al limite superiore e inferiore delle zone non recapitabili, che vengono usate per derimbalzare lo stato di commutazione segnalato.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 Indica che i valori dell'asse corrispondenti devono essere invertiti prima dell'applicazione dei calcoli della finestra di destituzione e della zona non recapitata.Indicate that the corresponding axis values should be inverted before the dead zone and debounce window calculations are applied.
YInvertYInvert DWORDDWORD
CommutatoreSwitch SwitchIndexSwitchIndex DWORDDWORD Indice nella matrice di opzioni RawGameController .Index in the RawGameController switch array.
InvertiInvert DWORDDWORD Indica che l'opzione segnala le posizioni in ordine antiorario, anziché l'ordine in senso orario predefinito.Indicates that the switch reports its positions in a counter-clockwise order, rather than the default clockwise order.
PositionBiasPositionBias DWORDDWORD

Sposta il punto iniziale del modo in cui le posizioni vengono segnalate in base al valore specificato.Shifts the starting point of how positions are reported by the specified amount. PositionBias viene sempre conteggiato in senso orario dal punto di partenza originale e viene applicato prima che l'ordine dei valori venga invertito.PositionBias is always counted clockwise from the original starting point, and is applied before the order of values is reversed.

Ad esempio, un commutatore che segnala posizioni che iniziano con l' ordine in senso antiorario può essere normalizzato impostando il flag inverso e specificando un PositionBias di 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:

PosizionePosition Valore segnalatoReported value Dopo i flag PositionBias e InvertAfter PositionBias and Invert flags
DownRightDownRight 00 33
DestraRight 11 22
UpRightUpRight 22 11
SuUp 33 00
UpLeftUpLeft 44 77
SinistraLeft 55 66
DownLeftDownLeft 66 55
GiùDown 77 44

* Valori ButtonIndex*ButtonIndex values

*ButtonIndex valori indici nella matrice di pulsanti di 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

Mapping delle proprietàProperties mapping

Si tratta di valori di mapping statici per diversi tipi di mapping.These are static mapping values for different mapping types.

MappingMapping Nome del valoreValue name Tipo di valoreValue type Informazioni sul valoreValue info
RacingWheelRacingWheel MaxWheelAngleMaxWheelAngle DWORDDWORD Indica l'angolo massimo della rotellina fisica supportato dalla rotellina in un'unica direzione.Indicates the maximum physical wheel angle supported by the wheel in a single direction. Ad esempio, un Wheel con una possibile rotazione di-90 gradi a 90 gradi specifica 90.For example, a wheel with a possible rotation of -90 degrees to 90 degrees would specify 90.

EtichetteLabels

Le etichette devono essere presenti sotto la chiave labels sotto la radice del dispositivo.Labels should be present under the Labels key under the device root. Le etichette possono avere 3 sottochiavi: pulsanti, assie commutatori.Labels can have 3 subkeys: Buttons, Axes, and Switches.

Etichette dei pulsantiButton labels

Il tasto Buttons esegue il mapping di ogni posizione dei pulsanti nella matrice dei pulsanti di RawGameControllera una stringa.The Buttons key maps each of the button positions in the RawGameController's buttons array to a string. Ogni stringa viene mappata internamente al valore enum GameControllerButtonLabel corrispondente.Each string is mapped internally to the corresponding GameControllerButtonLabel enum value. Ad esempio, se un gamepad ha dieci pulsanti e l'ordine in cui il RawGameController analizza i pulsanti e li presenta nel report dei pulsanti è simile al seguente: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

Le etichette devono essere visualizzate in questo ordine sotto il tasto pulsanti :The labels should appear in this order under the Buttons key:

NomeName Valore (tipo: REG_SZ)Value (type: REG_SZ)
Button0Button0 MenuMenu
Button1Button1 VisualizzazioneView
Button2Button2 LeftStickButtonLeftStickButton
Button3Button3 RightStickButtonRightStickButton
Button4Button4 LetterALetterA
Button5Button5 LetterBLetterB
Button6Button6 LetterXLetterX
Button7Button7 LetteraleLetterY
Button8Button8 LeftBumperLeftBumper
Button9Button9 RightBumperRightBumper

Etichette asseAxis labels

Il tasto assi eseguirà il mapping di ognuna delle posizioni dell'asse nella matrice dell'asse RawGameControllera una delle etichette elencate nell' enumerazione GameControllerButtonLabel come le etichette dei pulsanti.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. Vedere l'esempio in etichette dei pulsanti.See the example in Button labels.

Cambia etichetteSwitch labels

Il tasto Opzioni consente di passare dalle posizioni alle etichette.The Switches key maps switch positions to labels. I valori seguono questa convenzione di denominazione: per etichettare una posizione di un'opzione, il cui indice è x nella matrice di commutatore di RawGameController, aggiungere questi valori nella sottochiave 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

La tabella seguente mostra un set di etichette di esempio per le posizioni di cambio di un compasso a 4 vie che viene visualizzato in corrispondenza dell'indice 0 in RawGameController: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:

NomeName Valore (tipo: REG_SZ)Value (type: REG_SZ)
Switch0UpSwitch0Up XboxUpXboxUp
Switch0RightSwitch0Right XboxRightXboxRight
Switch0DownSwitch0Down XboxDownXboxDown
Switch0LeftSwitch0Left XboxLeftXboxLeft

File del registro di sistema di esempioExample registry file

Per illustrare il modo in cui tutti questi mapping e valori sono collegati, di seguito è riportato un esempio di file del registro di sistema per un RacingWheelgenerico: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

Vedere ancheSee also