ValveSoftware / openvr

OpenVR SDK
http://steamvr.com
BSD 3-Clause "New" or "Revised" License
6.06k stars 1.27k forks source link

Input from custom device driver being detected by input debugger but not bound #886

Open SamRelativeDimensions opened 5 years ago

SamRelativeDimensions commented 5 years ago

Hi all,

I've created a custom driver and everything is almost working perfectly now.

Unfortunately, the input is not being bound to application actions, despite being shown on the right hand side of the input debugger window.

The input is simply /input/joystick x and y, and my device is appropriately updating these values on the Server run frame function. This can be seen with the white bar moving in the input debugger, much like other joystick inputs.

My legacy bindings for this handle is set to input mode joystick, and the position output as "/actions/legacy/in/left_axis0_value". When I open the binding, it correctly shows that I intend to use my custom devices "joystick" input as LeftTrackpad/Joystick_Value, but when in games, this does not bind to the actions.

I've attached the input profiles to see if anyone can spot a glaring mistake of any sort.

If anyone would like to follow this up with logs etc, just let me know what you need 👍

vrgochair_profile.txt vrgochair_legacy_bindings.txt

Thanks!

SamRelativeDimensions commented 5 years ago

Still having this problem, as you can see from the images, the binding file has been setup correctly to bind. In the final 2 images, input can be seen going into Steam VR from the custom device driver, and despite the bindings, Fallout 4 VR (test app) is still only bound to the Oculus Touch controllers left thumbstick, and a test binding on the Gamepad (right thumbstick).

I've tried setting the device up as a controller handed (even though it's not) but this just results in a blank screen when trying to access input bindings within Steam VR. I've also tried out the latest SteamVR Beta with no change in results.

I'm a little disappointed at the lack of developer support, especially as I'm not the only developer using single_device encountering this issue (see issues where this issue is referenced above).

Any sort of feedback would be appreciated, even just indicating whether it's something I've done wrong or a known issue/bug within the existing SteamVR/OpenVR input binding system.

Thanks,

binding01 binding02 binding03 binding04

SamRelativeDimensions commented 5 years ago

I've created a driver from scratch, with barebones functionality that only has the thumbstick input, set to (1.0, 1.0). The driver still has the same problem with no binding.

SamRelativeDimensions commented 5 years ago

Here is a link to a repro barebones project that contains the same issue.

Adding the bin/drivers/barebones directory to Steam VR's path reg should allow you to see the driver in Steam VR, inputting a constant 1 value for /input/joystick (both on X and Y).

You can also assign this input to legacy actions, but upon launching an application (for example, Fallout 4 VR, Onward VR, Steam VR Home) you'll notice that despite being setup correctly, the input does not bind to the actions.

Barebones example project here