Skip to content
This repository has been archived by the owner. It is now read-only.
Choose a tag to compare

The Big SteamVR Input Release

Back in May, Valve announced a new input abstraction layer for SteamVR:

While this was a very exciting change because it allows custom button mappings per game, it also required a major refactor of this plugin. However this provided an opportunity to clean up a bunch of cruft that had built up with PSMoveSteamVRBridge. @SuperEvenSteven got the ball rolling and did a ton of work breaking apart the massive monolithic mess that this plugin had become. I finally got around to incorporating his work and finishing off the refactor.

Because this is a major change to how all of the controller configuration and button mapping works you'll want to consult the updated Steam-VR-Setup wiki page for details on editing the new config files and setting up button mappings in the new SteamVR Input Editor.

As before you can download a zip'ed version of the build, but I would strongly recommend instead using the new installer executable. It will automatically register the plugin with SteamVR and create handy links to PSMoveService and PSMoveConfigTool on your desktop.


  • Added support for new SteamVR input API
  • Moved configuration out of steamvr.vrsettings into %appdata%/PSMoveSteamVRBridge
  • Added installer using BitRock
  • PSMoveService now auto-starts when steamvr starts if PSMoveSteamVRBridge is installed
  • Only start psmove_monitor if there is no valid HMD configuration
  • Save HMD configuration into PSMoveSteamVRBridgeConfig.json so that you don't have to do head alignment at start up every time
Choose a tag to compare

Jitter fix attempt

  • zero out acceleration on psmove controller

Upgrading to PSMoveService v0.9-alpha9.0.1

  • Adding support for newer psmove controller with micro-usb connection (ZCM2)
  • HOT-FIX - Crash when connecting Xbox360 controller

Adding support for explicit hand assignment in PSMoveConfigTool

Choose a tag to compare

Upgrading to PSMoveService v0.9-alpha8.7.2

  • Fixing crash with calibration mat tool when using more than 5 cameras

Added support for "disable_alignment_gesture"

  • Under "psmove_settings" in steamvr.vrsettings config
  • Used to disable the align-with-HMD setup at the launch of the SteamVR plugin.

Upgrading to PSMoveService v0.9-alpha8.7.1

  • Adding official support for up to 8 cameras


If you are a user of PSMoveFreePieBridge, make sure to grab the version 15 since there are protocol changes that break compatibility with previous versions:

Choose a tag to compare

Upgrading to PSMoveService v0.9-alpha8.6.3

  • Fixes crash on PSMoveService shutdown when using a usb connected PSNavi controller

Upgrading to PSMoveService v0.9-alpha8.6.2

  • Fixes broken PSNavi support due to issue with gamepad enumerator introduced when virtual controller support was added

Upgrading to OpenVR v1.0.8

Choose a tag to compare

Upgrading to PSMoveService v0.9-alpha8.6.0 (By HipsterSloth)

Support for Virtual Controllers

A virtual controller is an untracked gamepad with a ping pong ball attached for tracking. Since a ping pong ball is symmetrical we can't get an orientation off of it, so we use the HMDs orientation. Buttons on the gamepad can be mapped to SteamVR buttons. See the Virtual Controller Setup page in the wiki for details.

Choose a tag to compare

Upgrading to PSMoveService v0.9-alpha8.4.0 (By HipsterSloth)

  • Support for virtual HMDs
  • NOTE: VirtualHMD api isn't really used by PSMoveSteamVRBridge, but I wanted to keep up to date with the latest PSMoveService client interface.

Fix for full battery indication (By Zelmon)

The battery information is only updated when the level changes but the
starting value was originally 1. This meant that if the battery was full
at the start then the battery information was not sent to SteamVR. To
fix this the initial value has been set to 0.

Choose a tag to compare

Release #1.1.0


Rescaled the PSNavi thumbstick for touchpad emulation (By Zelmon)

The range of the thumbstick axes no longer scaled correctly for the
touchpad. The range should be [-1, 1] with a combined magnitude <= 1.

Amplify linear velocity to help throwing objects (By Zelmon)

Added a multiplier and an exponent options to steamvr.vrsettings for the
linear velocity to improve the "throwing power".

Added the option to rotate how the PSMove is held (By Zelmon)

This option is intended for when a PSNavi is attached to the PSMove
controller so that it can be done with the two triggers facing each
other. This changes the HMD alignment pose to bulb down and trigger
forward. To enable this rotated mode set "psmove_rotate": true under
"psmove_settings" in steamvr.vrsettings.

Added a separate trigger axis parameter for the PSNavi (By Zelmon)

For when SteamVR thinks touch controllers are connected, the trigger
axis used by the PSNavi can set independently so that the two triggers
can be used separately. This new parameter is listed as
"trigger_axis_index" under "psnavi_settings" in steamvr.vrsettings.

Use the "trigger" button to actuate axis 1 (By Zelmon)

If m_triggerAxisIndex != 1 then k_EButton_SteamVR_Trigger (specified
by assigning "trigger" to a button) still acts on axis 1 and applies
a value of 1.f to it when pressed (0.f otherwise).

Updated openvr submodule to point to OpenVR 1.0.7 (By HipsterSloth)

Fix for issue #3 - Issue with installing the .bat files (By HipsterSloth)

Added missing openvr dll to the driver installation

Fixes for HMD alignment (By HipsterSloth)

OpenVR 1.0.7 made it possible to get the pose of the HMD directly!
Copied some directory path helper code from OpenVR for getting the path of the psmove driver dll

Choose a tag to compare

Release #1.0.0

First check-in of functional PSMoveSteamVRBridge plugin!

* Generate a build by running either of the following setup scripts
 - scripts\msvc\InitialSetupOfficialPSM_X64.bat - Builds project using official PSMoveService release zip linked to in PSMoveServiceReleaseURL.txt
 - scripts\msvc\InitialSetupLocalPSM_X64.bat - Builds project using locally built PSMoveService release zip that you select via dialog
* SteamVR plugin is identical to what was shipped with PSMoveService 0.9alpha8.1.0