Requirements
- The device must be recognized as an audio source in Windows. The connection medium (USB, Bluetooth®, etc.) does not matter.
- The device must expose no more than one haptic endpoint.
- The device must expose no more than eight haptic locations.
- The device must not modify its haptics capabilities after being connected.
- The device must not have multiple audio endpoints with identical formats (bits per sample and samples per second).
- The device must present the same container ID for its audio endpoint as the rest of the device.
-
The device must have a registry entry in to explicitly identify the haptic endpoint. The format is as follows:
- Haptic devices are enumerated in the registry in
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\GameInput\Devices. - The specific device key is a combination of the vendor ID, product ID, usage page, and usage ID formatted as a hexadecimal string.
- The
HapticSamplesPerSecondis a DWORD value identifying the number of samples per second (Hz) of the haptic endpoint format. - The
HapticsBitsPerSampleis a DWORD value identifying the number of sample bits (sample size) of the haptic endpoint format. - The
HapticLocationsis a BYTE array of haptic location GUIDs. This array must contain between one and eight GUIDs, corresponding to the haptic channel mapping.
The associated haptic registry entry would look as follows: - Haptic devices are enumerated in the registry in
Haptic locations
Currently, the following haptic location GUIDs are defined for general use:Reference API documentation
- GameInput (API contents)
- Structures
