Why is the Valve Index Trigger Input Action actuation threshold inaccurate?

I am playing around with the Enhanced Input plugin, and I am trying to get a specific input action to trigger for an actuation threshold value of 1. I figured this would mean a full press of the trigger, since the threshold value can’t be higher than 1.

However, this does not seem to be the case. I performed several tests with SteamVR Settings open alongside a preview to see how the values differed.

With my input’s actuation threshold set to 1, I noticed that it would trigger every time SteamVR read the trigger pull value at around 0.2-0.3. This is far off of the mark and cuts off much of the range that the trigger is capable of, making for a very uncomfortable experience.

I’ve tried looking in project settings and OpenXR’s plugin settings, but I can’t find any solution to get the trigger working as expected. Any help is greatly appreciated!

You can use “showdebug input” and “showdebug enhancedinput” to print some on screen debug info about what input the engine is receiving. It is worth noting that the key you bind to is important. For example the “Gamepad Right/Left Trigger” buttons will always give a value of 1.0 or 0.0 because they are “buttons”, just detecting if the value is non-zero. The “Gamepad Right/Left Trigger AXIS” keys will give you a float value that is actually representative of the current trigger value. Make sure you are bound to the “AXIS” key for your trigger.

Ok, I spent some time testing both Valve Index (R) Trigger and Valve Index (R) Trigger Axis. Unfortunately, for both cases, with an actuation value of 1 for the Pressed trigger action, the enhanced input event is called before the button on the controller is pressed enough to elicit its clicking sound. Like right before, and I can’t figure out if this is intentional or configurable in OpenXR.