> ## 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.

# Sensores en GameInput

> Referencia sobre la compatibilidad con sensores de GameInput: requisitos de la pila de sensores HID, sistemas de coordenadas de gamepad y dispositivos portátiles, y salida de aceleración de ejemplo.

Las capacidades de sensores en GameInput dependen de la pila de sensores de Windows. Para hacer que su dispositivo sea compatible con esta pila
de sensores, consulte:

* [Usos de sensores HID](https://learn.microsoft.com/windows-hardware/design/whitepapers/hid-sensors-usages)
* [Integración de sensores de movimiento y orientación](https://learn.microsoft.com/windows-hardware/design/whitepapers/integrating-motion-and-orientation-sensors)
* [Ejemplos de Waratah](https://github.com/microsoft/hidtools/wiki/Waratah-Samples#accelerometer-and-gyroscope-gyrometer)

Validación:

* [SensorExplorer](https://apps.microsoft.com/detail/9pgl3xpq1tpx)
* [Pruebas de sensores de movimiento de HLK](https://learn.microsoft.com/windows-hardware/test/hlk/testref/how-to-run-hck-motion-sensor-tests)

## Sistema de coordenadas

Los dispositivos deben notificar la aceleración del dispositivo como un sistema dextrógiro con el eje Y hacia arriba. La velocidad angular sigue la regla de la mano derecha
respecto a estos ejes.

| Sistema de coordenadas del gamepad                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | Sistema de coordenadas del dispositivo portátil                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <img src="https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/input-sensors-coordinates-gamepad.png?fit=max&auto=format&n=5IpvKlT-jmAaVkeY&q=85&s=cd864c92015f0cc7389d8c43e42e71af" alt="Sistema de coordenadas de los sensores mostrado en un gamepad" height="300" data-path="images/input-sensors-coordinates-gamepad.png" /> | <img src="https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/input-sensors-coordinates-handheld.png?fit=max&auto=format&n=5IpvKlT-jmAaVkeY&q=85&s=4d9b1548f5b414ab28b2772c4d937c80" alt="Sistema de coordenadas de los sensores mostrado en un dispositivo portátil" height="300" data-path="images/input-sensors-coordinates-handheld.png" /> |

El eje X va desde el centro del dispositivo hacia la derecha. El eje Y va desde el centro del dispositivo hacia
la cara del usuario. El eje Z va desde el centro del dispositivo hacia fuera por la parte inferior.

Salida de aceleración de ejemplo, en g:

* Dispositivo apoyado en plano sobre una mesa: {0, 1, 0}
  * La velocidad angular en reposo es {0, 0, 0}
* Desde ahí, levante el dispositivo hacia arriba: aumenta {0, 2, 0}
* Desde ahí, deje caer el dispositivo: disminuye {0, 0, 0}
* Gire el dispositivo de modo que el borde superior quede en el aire y el borde inferior sobre la superficie: {0, 0, -1}
  * Durante el movimiento, la velocidad angular X se vuelve positiva: {2, 0, 0}
* Vuelva a la posición plana.
* Gire el dispositivo de modo que el borde izquierdo quede en el aire y el borde derecho sobre la superficie: {-1, 0, 0}
  * Durante el movimiento, la velocidad angular Z se vuelve negativa: {0, 0, -2}
* Vuelva a la posición plana.
* Gire el dispositivo en el sentido de las agujas del reloj (opuesto a la regla de la mano derecha)
  * Durante el movimiento, la velocidad angular Y se vuelve negativa: {0, -2, 0}

## Comentarios

### Ruido por vibraciones del dispositivo

Los retumbos o zumbidos de baja frecuencia en el dispositivo (como los causados por los hápticos) pueden inducir ruido en el girómetro y
afectar a la precisión.

* Posible mitigación de hardware: aislamiento mecánico del sensor respecto a los hápticos, mediante la colocación intencionada del sensor
  o rodeando el sensor con material de acolchado amortiguador de vibraciones
* Posible mitigación de software: uso de un filtro de paso bajo

### Claves del Registro

\[!IMPORTANT]
Si su dispositivo debe superar la [certificación de Windows Hardware Quality Lab](https://learn.microsoft.com/windows-hardware/test/hlk/testref/how-to-run-hck-motion-sensor-tests),
agregue la clave del Registro que se describe a continuación. GameInput transformará la salida compatible con WHQL del dispositivo para que coincida con la salida
esperada por los desarrolladores de juegos.

Las asignaciones de un dispositivo con identificador de proveedor (VID) **VVVV**, identificador de producto (PID) **PPPP**, página de uso **UUUU** e identificador de uso
**XXXX** se leerán desde esta ubicación del Registro:

```
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\GameInput\Devices\VVVVPPPPUUUUXXXX
```

Solo se admiten la página de uso Generic (0x0001) y los identificadores de uso Joystick (0x0004) y Gamepad (0x0005).

| Nombre del valor | Tipo de valor | ¿Necesario? | Información                                                                                                                                                      | Valores |
| ---------------- | ------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| IsWhqlCertified  | DWORD         | No          | Indica a GameInput que transforme las salidas de los sensores de un dispositivo con certificación WHQL para que coincidan con el sistema de coordenadas deseado. | 0, 1    |

\[!TIP]
Las subclaves siguientes están pensadas para los fabricantes de dispositivos que ya se han comercializado. Si el dispositivo aún no
se ha lanzado, debe notificar correctamente el [sistema de coordenadas descrito anteriormente](#coordinate-system) y debe superar las pruebas correspondientes.

| Nombre del valor              | Tipo de valor | ¿Necesario? | Información                                                                                                                                  | Valores |
| ----------------------------- | ------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| SensorsAxisX                  | SZ            | No          | Indica a GameInput que tome el eje X del informe de sensores del dispositivo y lo etiquete con el eje indicado por el valor.                 | X, Y, Z |
| SensorsAxisY                  | SZ            | No          | Indica a GameInput que tome el eje Y del informe de sensores del dispositivo y lo etiquete con el eje indicado por el valor.                 | X, Y, Z |
| SensorsAxisZ                  | SZ            | No          | Indica a GameInput que tome el eje Z del informe de sensores del dispositivo y lo etiquete con el eje indicado por el valor.                 | X, Y, Z |
| SensorsInvertAccelerationX    | DWORD         | No          | Indica a GameInput que invierta el signo de la aceleración en el eje X. Se aplica después de la transformación de ejes anterior.             | 0, 1    |
| SensorsInvertAccelerationY    | DWORD         | No          | Indica a GameInput que invierta el signo de la aceleración en el eje Y. Se aplica después de la transformación de ejes anterior.             | 0, 1    |
| SensorsInvertAccelerationZ    | DWORD         | No          | Indica a GameInput que invierta el signo de la aceleración en el eje Z. Se aplica después de la transformación de ejes anterior.             | 0, 1    |
| SensorsInvertAngularVelocityX | DWORD         | No          | Indica a GameInput que invierta el signo de la velocidad angular respecto al eje X. Se aplica después de la transformación de ejes anterior. | 0, 1    |
| SensorsInvertAngularVelocityY | DWORD         | No          | Indica a GameInput que invierta el signo de la velocidad angular respecto al eje Y. Se aplica después de la transformación de ejes anterior. | 0, 1    |
| SensorsInvertAngularVelocityZ | DWORD         | No          | Indica a GameInput que invierta el signo de la velocidad angular respecto al eje Z. Se aplica después de la transformación de ejes anterior. | 0, 1    |

<a id="seealsoSection" />

## Documentación de referencia de la API

* [GameInput (contenido de la API)](/reference/input/gameinput/gameinput_members)
  * Estructuras
    * [GameInputSensorsInfo](/reference/input/gameinput/structs/gameinputsensorsinfo)
    * [GameInputSensorsState](/reference/input/gameinput/structs/gameinputsensorsstate)

## Consulte también

[GameInputSensorsInfo](/reference/input/gameinput/structs/gameinputsensorsinfo)

[GameInputSensorsState](/reference/input/gameinput/structs/gameinputsensorsstate)

[Información general de GameInput](/build/core-features/common/input/overviews/input-overview)

[Windows.Devices.Sensors](https://learn.microsoft.com/uwp/api/windows.devices.sensors)


## Related topics

- [Hardware de GameInput: retroalimentación de fuerza, hápticos y sensores](/es/build/core-features/common/input/hardware/index.md)
- [GameInput](/es/reference/input/gameinput/gameinput_members.md)
- [Preguntas más frecuentes sobre GameInput](/es/build/core-features/common/input/overviews/input-faq.md)
- [Miembros de la API de GameInput en desuso](/es/reference/input/gameinput/deprecated/gameinput_deprecated_members.md)
- [Combinación de GameInput con pilas de entrada existentes](/es/build/core-features/common/input/porting/input-porting.md)
