-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Watches every button, trigger, and thumbstick on connected SteamVR controllers for drift and degradation. Learns what "normal" looks like for each input path (rest position, full-travel range, polar coverage across thumbstick angles) and silently corrects deviations -- pulling a drifting thumbstick back to centre, remapping a trigger whose full range has shrunk. The Diagnostics tab shows what the driver is observing per input path so drift is visible before it becomes noticeable.
This repository is the release mirror for the InputHealth module of the OpenVR-Pair umbrella toolset. Every release here is the OpenVR-Pair umbrella build with enable_inputhealth.flag pre-dropped so input drift monitoring and learned compensation activate immediately on install.
-
Zip drop-in:
OpenVR-Pair-InputHealth-v<version>.zipfrom Releases; extract into the SteamVR drivers directory. -
NSIS installer:
OpenVR-Pair-v<version>-Setup.exefrom the umbrella repo's Releases.
Restart SteamVR after either path.
The umbrella overlay's Modules tab toggles the InputHealth row on or off; the change takes effect at the next SteamVR launch. The toggle creates or removes enable_inputhealth.flag in the driver's resources directory (an elevated PowerShell helper handles the admin-only write).
Three tabs in the InputHealth feature:
-
Diagnostics (default) -- per-device, per-path table of observed range + a hint (
drift +,weak arc?,coverage ok, ...). -
Settings --
Rest re-center (sticks)to enable learned stick rest-offset correction;Trigger remapto enable learned trigger min / max remapping. -
Advanced --
Observe only (suppress corrections)(driver records stats but doesn't rewrite inputs; useful when validating detection on a new device), plus two reset actions (Reset statsclears in-memory state but keeps learned curves on disk;Reset stats AND learned compensationwipes everything).
Full per-control reference is on the OpenVR-Pair wiki: Module-InputHealth page.
Logs land under %LocalAppDataLow%\OpenVR-Pair\Logs\inputhealth_log.<ts>.txt.
InputHealth driver problem banner means the IPC pipe isn't reachable -- usually SteamVR isn't running or enable_inputhealth.flag is missing. A transient Shmem: <error> line during startup is normal; it clears once the 10 Hz snapshot publisher attaches.
Learned compensation per device lives in %LocalAppDataLow%\OpenVR-Pair\profiles\inputhealth_<serial_hash>.json if you need to back up or transfer settings.
Active development lives in the OpenVR-Pair monorepo at modules/inputhealth/. Pre-migration history is preserved on this repo's archive-source branch.
Open issues and contributions at OpenVR-WKPairDriver/issues.
OpenVR-Pair wiki
Source